NPOI设置单元格背景色
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设置单元格背景色的更多相关文章
- NPOI之Excel——设置单元格背景色
NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...
- NPOI设置单元格格式
转自:http://www.cr173.com/html/18143_2.html //创建一个常用的xls文件 private void button3_Click(object sender, E ...
- npoi 设置单元格格式
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- NPOI自定义单元格背景颜色
经常在NPOI群里聊天时发现有人在问NPOI设置单元格背景颜色的问题,而Tony Qu大神的博客里没有相关教程,刚好最近在做项目时研究了一下这一块,在这里总结一下. 在NPOI中默认的颜色类是HSSF ...
- 【转】NPOI自定义单元格背景颜色
经常在NPOI群里聊天时发现有人在问NPOI设置单元格背景颜色的问题,而Tony Qu大神的博客里没有相关教程,刚好最近在做项目时研究了一下这一块,在这里总结一下. 在NPOI中默认的颜色类是HSSF ...
- 【openpyxl】 关于 单元格背景色 的疑惑
openpyxl 优点: 对文件进行操作, 也就是说: 如果一台电脑 没有Office excel 或 WPS excel, xlsx 是打不开的,会提示你选择程序打开. 但这时 ope ...
- 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法
本篇文章小编为大家介绍,用NPOI创建Excel.合并单元格.设置单元格样式.边框的方法.需要的朋友参考下 今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Ex ...
- 关于POI 中单元格背景色设置(转)
关于POI 中单元格背景色设置(转) csdn 中找到了用Apache POI 实现单元格背景色的小例子 我用了JDK6 + POI 3.17 ,调试中报错 最终将 CellStyle.SOLID ...
- NPOI 生成Excel (单元格合并、设置单元格样式:字段,颜色、设置单元格为下拉框并限制输入值、设置单元格只能输入数字等)
NPIO源码地址:https://github.com/tonyqus/npoi NPIO使用参考:源码中的 NPOITest项目 下面代码包括: 1.包含多个Sheet的Excel 2.单元格合并 ...
随机推荐
- sql表中数据遍历
步骤: 1:先定义一个临时表,把需要用的数据放入临时表中,如果数据不连续,则在临时表中定义一个自增长键 DECLARE @temp table(Id INT IDENTITY(1, 1) ,ShopC ...
- 团队作业3——alpha阶段冲刺
1.博客链接集合 敏捷冲刺1 敏捷冲刺2 敏捷冲刺3 敏捷冲刺4 敏捷冲刺5 敏捷冲刺6 敏捷冲刺7 测试随笔 冲刺总结随笔 2.项目git地址 git地址 3.项目成员贡献比例 成员 比例 张艺琳( ...
- MYSQL+PHP的学习之路
MYSQL+PHP 先从MYSQL开始吧 第一步:SQL语句基础 1.书籍 2.网站: 这个网站在线测试和考试http://sqlzoo.net/wiki/SELECT_basics/zh 3.学习过 ...
- 原生Ajax--XmlHttpRequest对象和jQuery.ajax()
Ajax主要就是使用 [XmlHttpRequest]对象来完成请求的操作,该对象在主流浏览器中均存在(除早起的IE) 1.XmlHttpRequest对象介绍 XmlHttpRequest对象的主要 ...
- mac下修改mysql默认字符集为utf8
1.首先检查默认安装的字符集 mysql> show variables like '%char%'; +--------------------------+----------------- ...
- SQL Server分页查询的万能存储过程
CREATE proc [dbo].[p_paging]@tableName varchar(8000), --表名.视图名@indexCol varchar(50) = 'id', --标识列名(如 ...
- JS高德地图应用 ---- 鼠标点击加入标记 & POI搜索
代码如下 (填入Key值) : <!DOCTYPE html> <html> <head> <meta charset="utf-8"&g ...
- Windows MySQL测试数据库employees的导入
一: 首先下载employees测试数据库 https://launchpad.net/test-db/ 二:用文本编辑器打开其中的employees.sql文件,将第38行的set storage_ ...
- java编码与解码(一)
转:https://blog.csdn.net/heyanxi0101/article/details/80356870 java编码与解码(一) 编码表概述和常见的编码表 概述:有字符及其对应的数值 ...
- 注意&&前后两个表达式有顺序的差别
//插入排序 public static void insertSort(int[] arr) { // 遍历所有数字 for (int i = 1; i < arr.length; i++) ...