NPOI设置单元格背景色在网上有好多例子都是设置为NPOI内置的颜色值

但是想用rgb值来设置背景色,即:通过HSSFPalette类获取颜色值时会抛出异常:Could not Find free color index

比如:http://www.cnblogs.com/yxhblog/p/6225018.html

最后找到 这个实现后才知道需要额外设置一步

http://www.cnblogs.com/huxiaolin/p/4813518.html

简化后代码如下:

private void button1_Click(object sender, EventArgs e)
{
//创建Excel文件的对象
var book = new HSSFWorkbook();
//添加一个sheet
var sheet1 = book.CreateSheet("Sheet1");
//给sheet1添加第一行的头部标题
var row1 = sheet1.CreateRow(0);
var s = book.CreateCellStyle();
s.FillForegroundColor = GetColourByRGB(book, 82, 238, 172);
s.FillPattern = FillPattern.SolidForeground; for (int i = 0; i < 10; i++)
{
row1.CreateCell(i).SetCellValue(i);
row1.GetCell(i).CellStyle = s;
} using (SaveFileDialog sf = new SaveFileDialog())
{
sf.Filter = "表格|*.xls";
sf.AddExtension = true;
if (sf.ShowDialog() == DialogResult.OK)
{
//创建一个文档流对象
using (FileStream fs = new FileStream(sf.FileName, FileMode.Create))
{
//将内存里面的文档对象,写入到一个文档流中
book.Write(fs);
}
}
}
} private short GetColourByRGB(HSSFWorkbook workbook, byte r, byte g, byte b)
{
var palette = workbook.GetCustomPalette();
var hssfColor = palette.FindColor(r, g, b);
if (hssfColor == null)
{
palette.SetColorAtIndex(HSSFColor.Lavender.Index, r, g, b);
hssfColor = palette.GetColor(HSSFColor.Lavender.Index);
}
if (hssfColor != null)
{
return hssfColor.Indexed;
}
else
{
return short.MinValue;
}
}

  

NPOI设置单元格背景色的更多相关文章

  1. NPOI之Excel——设置单元格背景色

    NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...

  2. NPOI设置单元格格式

    转自:http://www.cr173.com/html/18143_2.html //创建一个常用的xls文件 private void button3_Click(object sender, E ...

  3. npoi 设置单元格格式

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. NPOI自定义单元格背景颜色

    经常在NPOI群里聊天时发现有人在问NPOI设置单元格背景颜色的问题,而Tony Qu大神的博客里没有相关教程,刚好最近在做项目时研究了一下这一块,在这里总结一下. 在NPOI中默认的颜色类是HSSF ...

  5. 【转】NPOI自定义单元格背景颜色

    经常在NPOI群里聊天时发现有人在问NPOI设置单元格背景颜色的问题,而Tony Qu大神的博客里没有相关教程,刚好最近在做项目时研究了一下这一块,在这里总结一下. 在NPOI中默认的颜色类是HSSF ...

  6. 【openpyxl】 关于 单元格背景色 的疑惑

    openpyxl   优点: 对文件进行操作, 也就是说: 如果一台电脑 没有Office excel 或 WPS excel, xlsx 是打不开的,会提示你选择程序打开.   但这时    ope ...

  7. 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法

    本篇文章小编为大家介绍,用NPOI创建Excel.合并单元格.设置单元格样式.边框的方法.需要的朋友参考下 今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Ex ...

  8. 关于POI 中单元格背景色设置(转)

    关于POI 中单元格背景色设置(转)   csdn 中找到了用Apache POI 实现单元格背景色的小例子 我用了JDK6 + POI 3.17 ,调试中报错 最终将 CellStyle.SOLID ...

  9. NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)

    NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 ...

随机推荐

  1. ZABBIX安装过程中relocation error报错解决办法

    错误提示: /usr/sbin/zabbix_server: relocation error: /usr/sbin/zabbix_server: symbol mysql_next_result, ...

  2. Spring事务操作介绍

    Spring的特色之一,简单而强大的事务管理功能,包括编程式事务和声明式事务. 1. Spring中涉及到事务管理的API有100多个,核心的只有三个: TransactionDefinition.P ...

  3. weblogic中部署项目通常有三种方式

    在weblogic中部署项目通常有三种方式:第一,在控制台中安装部署:第二,将部署包放在domain域中autodeploy目录下部署:第三,使用域中配置文件config.xml 进行项目的部署. 控 ...

  4. CentOS6.5 - linux在虚拟机连接主机(使用nat)

    NAT模式:是虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网.也就是说,使用NAT模式可以实现在虚拟系统里访问互联网. NAT模式下的虚拟系统的TCP/IP配置信息是由VMn ...

  5. Java容器解析系列(8) Comparable Comparator

    Comparable和Comparator接口是两个用于对对象进行大小比较的接口,在java集合相关类中,也被经常地使用到. 关于其使用,可以参考网络上的其他博客(没什么好说的);这里阐述关于这两个接 ...

  6. Django中STATIC_URL、STATIC_ROOT、STATICFILES_DIRS 的区别关系

    首先,我们配置静态文件,要在setting.py里面加入如下几行代码: settings.py # the settings above # STATIC SETTINGS STATIC_URL = ...

  7. python基础知识总结(二)

    基础数据类型初始: int(数字):+ 加     - 减 *  乘 /  除 % 取余数 str(字符串):python中凡是用引号引起来的都是字符串 可以相加,用来表示字符串的拼接 可以相乘,只能 ...

  8. CNN

    <卷积神经网络详述> <卷积神经网络——雨石博客>      学习参考:http://blog.csdn.net/stdcoutzyx/article/details/4159 ...

  9. Testner测试圈关于页面响应时间的测试行业标准

    Testner测试圈针对小程序页面的响应时间标准建议如下:0-2秒 用户体验好,可以选择性改善,如首屏体验做到秒开等2-4秒 用户体验一般,有改善空间4-6秒 用户体验较差,有较大改善空间6秒以上 用 ...

  10. 运维yum搭建zabbix

    前言:           zabbix([`zæbiks])是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.           zabbix能监视各种网络参数,保证 ...