当前位置: 首页 > news >正文

NOPI用法之自定义单元格背景色(3)

NPOI针对office2003使用HSSFWorkbook,对于offce2007及以上使用XSSFWorkbook;今天我以HSSFWorkbook自定义颜色为例说明,Office2007的未研究呢

在NPOI中默认的颜色类是HSSFColor,它内置的颜色有几十种供我们选择,如果不够怎么办,不能修改底层的HSSFColor类;

大概解决思路:

1、将颜色的RGB值添加进调色板HSSFPalette中

2、调用HSSFPalette中FindColor方法获取HSSFColor实例

3、在需要使用颜色的地方使用HSSFColor的Indexed属性获取index值(NPOI.dll版本不同,也可能是GetIndex方法节能Index值)

第一步:将颜色的RGB值添加进调色板HSSFPalette

HSSFWorkbook hssfWorkbook = new HSSFWorkbook();//工作簿实例

HSSFPalette palette = hssfWorkbook.GetCustomPalette(); //调色板实例

palette.SetColorAtIndex((short)8 ,(short)184,(short)204,(short)228); 

参数解析

第一个参数:设置调色板新增颜色的编号,自已设置即可;取值范围8-64

第二、第三、第四个参数,组成RGB值

这里还有一点需要注意,如何去找到相应的RGB值呢,如果去用肉眼去找到匹配的太难;

可以下载调色板来拾取,也可以通过Excel固定模板去取,本次我讲解通过Excel去取颜色

客户可能给某个模板,模板中自带背景色,我们如何找到这个前景色的RGB值呢,通过以下方式

第二步:调用HSSFPalette中FindColor方法获取HSSFColor实例

HSSFColor hssFColor = palette.FindColor((short)184,(short)204,(short)228);

第一步中自定义设置的RGB值,直接复制过来使用;通过FindColor直接找到HSSFColor实例

第三步:设置具体对象颜色

 //创建一个单元格(具体网上查查,本次不做重点讲解)

ISheet sheet = hssfWorkbook.GetSheetAt(0);

IRow row = sheet.CreateRow(0);

ICell cell = row.CreateCell(0);

//设置单元格颜色

 ICellStyle cellStyle= hssfWorkbook.CreateCellStyle();

cellStyle.FillPattern = FillPattern.SolidForeground; 老版本可能这样写FillPatternType.SOLID_FOREGROUND;

cellStyle.FillForegroundColor = hssFColor.Indexed;

cell.CellStyle = cellStyle;//设置

http://www.lryc.cn/news/63059.html

相关文章:

  • 数据分析中常见标准的参考文献
  • 辨析 变更请求、批准的变更请求、实施批准的变更请求
  • leetcode 561. 数组拆分
  • AviatorScript
  • Oracle跨服务器取数——DBlink 初级使用
  • 200人 500人 园区网设计
  • netstat命令解析
  • API接口的自我阐述
  • Day32内部类
  • 用户画像系列——HBase 在画像标签过期策略中的应用
  • 时下热门话题:ChatGPT能否取代人类?
  • 每日刷题记录(十七)
  • 开放原子训练营(第三季)RT-Thread Nano学习营一探究竟
  • 数据库系统概论(二)关系数据库,SQL概述和数据库安全性
  • 【VM服务管家】VM4.x算子SDK开发_3.1 环境配置类
  • Java核心书籍1
  • crontab详细用法 定时任务
  • 基于ArcGIS Pro、Python、USLE、INVEST模型等多技术融合的生态系统服务构建生态安全格局
  • 开心档之MySQL 创建数据类型
  • 【C++ Primer(第5版) 课后习题题目及答案 第一章】
  • 【英语】100个句子记完7000个托福单词
  • 六、CANdelaStudio入门-通信参数编辑
  • 【致敬未来的攻城狮计划】— 连续打卡第十三天:FSP固件库开发启动文件详解
  • Java中mybatis是否支持延迟加载?延迟加载的原理是什么?
  • 真题详解(磁盘)-软件设计(五十八)
  • MATLAB连续时间信号的实现和时域基本运算(八)
  • MongoDB 聚合管道中使用字符串表达式运算符
  • 用Python分析周杰伦歌曲并进行数据可视化
  • 培训技能 GET
  • 数据库安全性案例分享