NPOI 创建Excel 设置宽度 样式 颜色对比表
前两天用NPOI来操作Office软件,在使用的时候有点问题,也有收获,就做个笔记 记录下来,主要做的事数据的导出功能。一些公共的方法,做个笔记。 更多的详细内容可以到NPOI的官方教程去看 http://tonyqus.sinaapp.com/
1.引用NPOI
这个,使用第三方类库就要添加DLL ,我使用的是1.2.5的版本 ,具体的版本可以在属相中找到 如下图。 貌似最新的版本到了2.0了

2.创建简单的一个Excel
MemoryStream ms = new MemoryStream(); //创建内存流
//创建一个文件
string fileName = "D://xinjian.xlsx";
IWorkbook workbook = new HSSFWorkbook();//IWorkbook和HSSFWorkbook的命名空间分别是NPOI.HSSF.UserModel;NPOI.SS.UserModel; 记得引用
ISheet sheet1 = workbook.CreateSheet("sheet1");//创建一个工作薄 括号内为名称
IRow dataRow = sheet1.CreateRow(1);//创建数据行 1代表是在第几行创建 变量
dataRow.CreateCell(1).SetCellValue("第一行第一列");//创建单元格 并且赋值 workbook.Write(ms);
ms.Flush();
ms.Position = 0; using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
byte[] data = ms.ToArray(); fs.Write(data, 0, data.Length);
fs.Flush(); data = null;
}
3.获取Excel数据
4.设置高度
headerRow.Height = 100 * 20;//设置第一行的高度
//Height的单位是1/20个点,所以Height的值永远是HeightInPoints的20倍。
5.设置宽度
sheet1.SetColumnWidth(1, 3 * 256);//设置宽
//这里你会发现一个有趣的现象,SetColumnWidth的第二个参数要乘以256,这是怎么回事呢?其实,这个参数的单位是1/256个字符宽度,也就是说,这里是把B列的宽度设置为了100个字符。
6.设置样式
headerRow.GetCell(1).CellStyle = Getcellstyle(workbook, "header");//设置样式 //单元格样式
static ICellStyle Getcellstyle(IWorkbook wb, string type)
{
//HSSFCellStyle cels = new HSSFCellStyle (1,
ICellStyle cellStyle = wb.CreateCellStyle();
cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.CENTER; switch (type)
{
case "header":
cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.TOP;
cellStyle.WrapText = true;//自动换行
break;
case "program":
cellStyle.FillPattern = FillPatternType.SOLID_FOREGROUND;
cellStyle.FillForegroundColor = 26;
break;
case "groupName":
cellStyle.FillPattern = FillPatternType.SOLID_FOREGROUND;
cellStyle.FillForegroundColor = 52;
break;
case "columnName":
cellStyle.FillPattern = FillPatternType.SOLID_FOREGROUND;
cellStyle.FillForegroundColor = 50;
break;
}
return cellStyle;
} //在这里填充的单元格的背景色不是FillBackgroundColor 而是 FillForegroundColor 很奇怪 而且 必须设置FillPattern这个属性
7.颜色对比表

最后,给大家提供一个操作NPOI简单的类库,希望有所帮助 点击下载
NPOI 创建Excel 设置宽度 样式 颜色对比表的更多相关文章
- 用NPOI创建Excel、合并单元格、设置单元格样式、边框的方法
本篇文章小编为大家介绍,用NPOI创建Excel.合并单元格.设置单元格样式.边框的方法.需要的朋友参考下 今天在做项目中,遇到使用代码生成具有一定样式的Excel,找了很多资料,最后终于解决了,Ex ...
- 使用NPOI创建Excel
一.NPOI 函式庫: NPOI 函式庫檔案有七個,NPOI 函式庫可以在 http://npoi.codeplex.com 中下載,分別是: NPOI.DLL:NPOI 核心函式庫. NPOI.DD ...
- NPOI 创建Excel,数据读取与写入
<1> using System; using System.Collections.Generic; using System.Linq; using System.Web; using ...
- NPOI创建EXCEL(NOPI系列1)
private void button1_Click(object sender, EventArgs e) { //创建一个工作薄 HSSFWorkbook wk = new HSSFWorkboo ...
- NPOI之Excel——设置单元格背景色
NPOI Excel 单元格颜色对照表,在引用了 NPOI.dll 后可通过 ICellStyle 接口的 FillForegroundColor 属性实现 Excel 单元格的背景色设置,FillP ...
- Response输出excel设置文本样式
在网上查了些Response导出excel然后设置样式的方法,发现没有一个可行的于是开始自己研究, 发现可以通过输出样式的方式进行配置,我要设置的是全文本格式在excel样式是这样的mso-numbe ...
- NPOI创建Excel批注
var hssfWorkbook = new HSSFWorkbook(); var sheet = hssfWorkbook.CreateSheet(); var patr = sheet.Crea ...
- 使用NPOI创建Excel文件
Public Sub BuildExcel() '写入内容到Excel Dim hssfworkbook As HSSFWorkbook = WriteExcel() Dim destFileName ...
- C#使用NPOI导出excel设置单元格背景颜色
ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.FillPattern = FillPattern.SolidForegrou ...
随机推荐
- 浏览器请求中文乱码(ISO-8859-1 to UTF-8)
String utfString=new String(param.getBytes("iso-8859-1"),"utf-8");
- MySQL查看一个表的创建文本以及删除表某列的索引
#查看vrv_paw_area创建文本,使用这句话主要是为了找到该表对应字段上的索引名称show create table vrv_paw_area; #删除vrv_paw_area表的‘name’索 ...
- C++:线程(std::thread)
1.创建一个线程 创建线程比较简单,使用std的thread实例化一个线程对象就创建完成了,示例: #include <iostream> #include <thread> ...
- laravel中通过查询构造器,实现数据的curd
//查询构造器: public function query1(){ //利用查询构造器,插入数据: /*$num=DB::table('student')->insert( ['name'=& ...
- js数组与字符串之间的相互转换
一.数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下 <!doctype html> <html> <head> <meta charset= ...
- Java——线程定时器
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- sql server的远程连接
当一台服务器上的数据库需要用到另一台服务器上的数据库时,就需要远程连接 首先创建远程连接 exec sp_addlinkedserver linkname,'','SQLOLEDB',serverIP ...
- 指针和const一些注意事项
1.常量指针(底层const) 指向常量的指针,指针所指向的对象的值无法被修改,若想存放常量对象的地址,只能使用指向常量的指针. 2.指针常量(顶层const) 指针本身是常量,指针本身的值不可修改. ...
- 用redis做简单的任务队列(一)
队列本身其实是个有序的列表,而Redis是支持list的,我们可以查看Redis的官方文档 http://redis.io/commands#list,其中我们可以对这个队列的两端分别进行操作,所以其 ...
- 和不安全的Android说再见,Google为它添加新铠甲
伴随着最近被曝出的Heartbleed漏洞,安全问题再次成为网络上的热点话题.虽然Android的安全性并没有外界传言的那样脆弱,但Google还是在继续为其增加防护措施.根据Android官方博客的 ...