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

news/2024/7/21 7:02:27 标签: Excel, NPOI, C#, windform, 颜色

文章目录

前言

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

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

色彩类名索引Index名称
#000000HSSFColor.Black8黑色
#ffffffHSSFColor.White9白色
#ff0000HSSFColor.Red10红色
#00ff00HSSFColor.BrightGreen11亮绿色
#0000ffHSSFColor.Blue12蓝色
#FFFF00HSSFColor.Yellow13黄色
#FF00FFHSSFColor.Pink14粉色
#00FFFFHSSFColor.Turquoise15青绿色 宝石蓝
#800000HSSFColor.DarkRed16暗红色 酒红
#008000HSSFColor.Green17绿色
#000080HSSFColor.DarkBlue18深蓝色
#808000HSSFColor.DarkYellow19深黄色
#800080HSSFColor.Violet20紫罗兰色
#008080HSSFColor.Teal21蓝绿色 青色
#C0C0C0HSSFColor.Grey25Percent2225%灰色
#808080HSSFColor.Grey50Percent2350%灰色
#9999FFHSSFColor.CornflowerBlue24浅蓝色
#993366HSSFColor.Maroon25褐红色 栗色 茶色
#FFFFCCHSSFColor.LemonChiffon26柠檬绯色
#CCFFFFHSSFColor.LightTurquoise27浅翠蓝 浅绿蓝
#660066HSSFColor.Orchid28淡紫色 兰花紫
#FF8080HSSFColor.Coral29珊瑚色
#0066CCHSSFColor.RoyalBlue30宝蓝色;品蓝
#CCCCFFHSSFColor.LightCornflowerBlue31浅矢车菊蓝色
#000080HSSFColor.DarkBlue32深蓝色
#FF00FFHSSFColor.Pink33粉红色
#FFFF00HSSFColor.Yellow34黄色
#00FFFFFHSSFColor.Turquoise35宝石绿
#800080HSSFColor.Violet36紫罗兰色
#800000HSSFColor.DarkRed37深红色
#008080HSSFColor.Teal38蓝绿色 青色
#0000ffHSSFColor.Blue39蓝色
#00ccffHSSFColor.SkyBlue40天蓝色
#ccffffHSSFColor.LightTurquoise41浅翠蓝
#ccffccHSSFColor.LightGreen42浅绿色
#ffff99HSSFColor.LightYellow43浅黄色
#99ccffHSSFColor.PaleBlue444淡蓝色
#ff99ccHSSFColor.Rose45玫瑰粉色
#cc99ffHSSFColor.Lavender46薰衣草色
#ffcc99HSSFColor.Tan47棕褐色 黄褐色
#3366ffHSSFColor.LightBlue48浅蓝色
#33ccccHSSFColor.Aqua49水绿色
#99cc00HSSFColor.Lime50亮绿色
#ffcc00HSSFColor.Gold51金色
#ff9900HSSFColor.LightOrange52浅橙色
#ff6600HSSFColor.Orange53橙色
#666699HSSFColor.BlueGrey54蓝灰色
#969696HSSFColor.Grey40Percent5540%灰色
#003366HSSFColor.DarkTeal56深蓝绿
#339966HSSFColor.SeaGreen57海洋绿
#003300HSSFColor.DarkGreen58深绿色 墨绿色
#333300HSSFColor.OliveGreen59橄榄绿
#993300HSSFColor.Brown60棕色
#993366HSSFColor.Plum61梅红色
#333399HSSFColor.Indigo62靛蓝色;靛青色
#333333HSSFColor.Grey80Percent6380%灰色
#000000HSSFColor.Automatic64黑色

NPOI_182">遍历NPOI颜色

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

void ExcelColor()
        {
            //创建工作簿对象
            HSSFWorkbook workBook = new HSSFWorkbook();

            //创建一个sheet
            ISheet 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-0x40
                palette.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();
            }
        }

效果图:
在这里插入图片描述


http://www.niftyadmin.cn/n/255210.html

相关文章

有趣的 Kotlin 0x13:密封类

跟着 ChatGPT 学 Kotlin&#xff0c;又是努力做一个 AI 出题人的一天~ 1. Kotlin 是出于什么考虑设计密封类&#xff1f; **答&#xff1a;**在 Kotlin 设计密封类时&#xff0c;主要考虑了以下几个因素&#xff1a; 类型安全&#xff1a;在 Kotlin 中&#xff0c;类型安全是…

用好Python自然语言工具包-- 实例“基于本地知识库的自动问答”

首先鸣谢thomas-yanxin 本问中示例来自他在GitHub上的开源项目“基于本地知识库的自动问答”&#xff0c;链接如下&#xff1a; thomas-yanxin/LangChain-ChatGLM-Webui: 基于LangChain和ChatGLM-6B的针对本地知识库的自动问答 (github.com) 目录 1. 基础知识&#xff1a; …

系统集成项目管理工程师——考试重点(三)项目管理一般知识

1.项目定义&#xff1a; 为达到特定的目的&#xff0c;使用一定资源&#xff0c;在确定的期间内&#xff0c;为特定发起人提供独特的产品、服务或成果而进行的一系列相互关联的活动的集合。 2.项目目标&#xff1a; 成果性目标&#xff1a;项目产品本身 约束性目标&…

Ceph入门到精通- storcli安装

storcli 是LSI公司官方提供的Raid卡管理工具&#xff0c;storcli已经基本代替了megacli&#xff0c;是一款比较简单易用的小工具。将命令写成一个个的小脚本&#xff0c;会将使用变得更方便。 安装简单&#xff0c;Windows系统下解压出来以后可以直接运行。 Linux系统默认位置…

【Web 服务】攻坚克难nginx负载均衡的一天

nginx负载均衡调度算法 包括最常用的轮询&#xff08;Round Robin&#xff09;、IP Hash、Least Connections等 轮询&#xff08;Round Robin&#xff09;算法 轮询算法是最基础的负载均衡算法之一&#xff0c;它会按照顺序逐个将请求分发给后端服务器。假设有3台后端服务器A…

ROS1学习笔记:常用可视化工具的使用(ubuntu20.04)

参考B站古月居ROS入门21讲&#xff1a;常用可视化工具的实现 基于VMware Ubuntu 20.04 Noetic版本的环境 文章目录 一、日志输出工具&#xff1a;rqt_console二、绘制数据曲线&#xff1a;rqt_plot三、 图像渲染工具&#xff1a;rqt_image_view四、图形界面总接口&#xff1a;r…

Unity日记22(携程概念)

目录 学习视频 携程 1异步 2调用方法 3优点 4停止方法 5返回值 实例&#xff1a;每过一秒打印当前运行时间 实例&#xff1a;停止数字打印携程 错误方法&#xff1a;&#xff08;携程只能开一个&#xff09; 参考方法 学习视频 https://www.bilibili.com/video/BV1eu…

力扣sql中等篇练习(十一)

力扣sql中等篇练习(十一) 1 好友申请|| :谁有最多的好友 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 出现数字次数越多,就代表它的好友越多 # 对两列数据合并时 不取出合并数据,采用UNION ALL SELECT t1.id,count(*) num FROM (SELECT request…