> 文章列表 > 介绍NPOI 的颜色卡、名称以及索引

介绍NPOI 的颜色卡、名称以及索引

介绍NPOI 的颜色卡、名称以及索引

文章目录

前言

使用NPOI的颜色时,一些颜色类的名称很难想象出具体对应的颜色,所以有了下面的对照表,方便使用。

NPOI 颜色的索引范围是 8~64,超出范围无效。

色彩 类名 索引Index 名称
#000000 HSSFColor.Black 8 黑色
#ffffff HSSFColor.White 9 白色
#ff0000 HSSFColor.Red 10 红色
#00ff00 HSSFColor.BrightGreen 11 亮绿色
#0000ff HSSFColor.Blue 12 蓝色
#FFFF00 HSSFColor.Yellow 13 黄色
#FF00FF HSSFColor.Pink 14 粉色
#00FFFF HSSFColor.Turquoise 15 青绿色 宝石蓝
#800000 HSSFColor.DarkRed 16 暗红色 酒红
#008000 HSSFColor.Green 17 绿色
#000080 HSSFColor.DarkBlue 18 深蓝色
#808000 HSSFColor.DarkYellow 19 深黄色
#800080 HSSFColor.Violet 20 紫罗兰色
#008080 HSSFColor.Teal 21 蓝绿色 青色
#C0C0C0 HSSFColor.Grey25Percent 22 25%灰色
#808080 HSSFColor.Grey50Percent 23 50%灰色
#9999FF HSSFColor.CornflowerBlue 24 浅蓝色
#993366 HSSFColor.Maroon 25 褐红色 栗色 茶色
#FFFFCC HSSFColor.LemonChiffon 26 柠檬绯色
#CCFFFF HSSFColor.LightTurquoise 27 浅翠蓝 浅绿蓝
#660066 HSSFColor.Orchid 28 淡紫色 兰花紫
#FF8080 HSSFColor.Coral 29 珊瑚色
#0066CC HSSFColor.RoyalBlue 30 宝蓝色;品蓝
#CCCCFF HSSFColor.LightCornflowerBlue 31 浅矢车菊蓝色
#000080 HSSFColor.DarkBlue 32 深蓝色
#FF00FF HSSFColor.Pink 33 粉红色
#FFFF00 HSSFColor.Yellow 34 黄色
#00FFFFF HSSFColor.Turquoise 35 宝石绿
#800080 HSSFColor.Violet 36 紫罗兰色
#800000 HSSFColor.DarkRed 37 深红色
#008080 HSSFColor.Teal 38 蓝绿色 青色
#0000ff HSSFColor.Blue 39 蓝色
#00ccff HSSFColor.SkyBlue 40 天蓝色
#ccffff HSSFColor.LightTurquoise 41 浅翠蓝
#ccffcc HSSFColor.LightGreen 42 浅绿色
#ffff99 HSSFColor.LightYellow 43 浅黄色
#99ccff HSSFColor.PaleBlue 444 淡蓝色
#ff99cc HSSFColor.Rose 45 玫瑰粉色
#cc99ff HSSFColor.Lavender 46 薰衣草色
#ffcc99 HSSFColor.Tan 47 棕褐色 黄褐色
#3366ff HSSFColor.LightBlue 48 浅蓝色
#33cccc HSSFColor.Aqua 49 水绿色
#99cc00 HSSFColor.Lime 50 亮绿色
#ffcc00 HSSFColor.Gold 51 金色
#ff9900 HSSFColor.LightOrange 52 浅橙色
#ff6600 HSSFColor.Orange 53 橙色
#666699 HSSFColor.BlueGrey 54 蓝灰色
#969696 HSSFColor.Grey40Percent 55 40%灰色
#003366 HSSFColor.DarkTeal 56 深蓝绿
#339966 HSSFColor.SeaGreen 57 海洋绿
#003300 HSSFColor.DarkGreen 58 深绿色 墨绿色
#333300 HSSFColor.OliveGreen 59 橄榄绿
#993300 HSSFColor.Brown 60 棕色
#993366 HSSFColor.Plum 61 梅红色
#333399 HSSFColor.Indigo 62 靛蓝色;靛青色
#333333 HSSFColor.Grey80Percent 63 80%灰色
#000000 HSSFColor.Automatic 64 黑色

遍历NPOI颜色

使用调色板HSSFPalette 检验自动生成的颜色是否在NPOI中有定义。

void ExcelColor(){//创建工作簿对象HSSFWorkbook workBook = new HSSFWorkbook();//创建一个sheetISheet sheet = workBook.CreateSheet("ColorTable");IRow row ;ICell cell;//调色板HSSFPalette palette = workBook.GetCustomPalette();List<Color> colorList = new List<Color>();Random random = new Random(Guid.NewGuid().GetHashCode());for(int i=0; i<random.Next(100,200); i++){colorList.Add(Color.FromArgb(random.Next(0, 255),random.Next(0, 255),random.Next(0, 255)));}short FIRST_COLOR_INDEX = (short)0x8;for (int i = 0; i < colorList.Count; i++){if ((short)(FIRST_COLOR_INDEX + i) > (short)0x40){break;}//index的取值范围0x8-0x40palette.SetColorAtIndex((short)(FIRST_COLOR_INDEX + i),colorList[i].R, colorList[i].G, colorList[i].B);}int StartColIndex = 0;int rowIndex = 0;int colIndex = StartColIndex;for (int i = 0; i < colorList.Count; i++){if (i > (short)(0x40 - 0x8)){break;}var vl = palette.FindColor(colorList[i].R, colorList[i].G, colorList[i].B);if (vl == null){// throw new Exception("Color is Valid");continue;}row = sheet.CreateRow(rowIndex);cell = row.CreateCell(0);ICellStyle cellStyle = workBook.CreateCellStyle();cellStyle.FillPattern = FillPattern.SolidForeground;cellStyle.FillForegroundColor = vl.GetIndex();cell.CellStyle = cellStyle;cell = row.CreateCell(1);cell.SetCellValue(vl.GetHexString());cell = row.CreateCell(2);cell.SetCellValue(vl.GetIndex());rowIndex++;}string fileName = @"testColor.xls";using (FileStream file = new FileStream(fileName, FileMode.Create)){workBook.Write(file);file.Close();}}

效果图:
介绍NPOI 的颜色卡、名称以及索引