NPOI操作创建Excel
程序员文章站
2022-11-10 21:54:14
一、下载NPOI类库 使用Nuget在线搜索NPOI,下载安装 二、代码开撸 ......
一、下载npoi类库
使用nuget在线搜索npoi,下载安装
二、代码开撸
var workbook = new hssfworkbook();
#region 设置样式
ifont font = workbook.createfont();
font.fontheightinpoints = 11;
font.fontname = "宋体";
font.boldweight = (short)fontboldweight.bold;
font.color = hssfcolor.white.index;
hssfpalette palette = workbook.getcustompalette(); //调色板实例
palette.setcoloratindex((short)8, (byte)91, (byte)155, (byte)213);//设置表头背景色
palette.setcoloratindex((short)16, (byte)221, (byte)235, (byte)247);//设置内容背景色
palette.setcoloratindex((short)32, (byte)155, (byte)194, (byte)230);//设置下边框线颜色
palette.setcoloratindex((short)48, (byte)212, (byte)212, (byte)212);//设置下边框线颜色
palette.setcoloratindex((short)64, (byte)255, (byte)255, (byte)0);//设置黄色
var cellmidstyle = workbook.createcellstyle();
cellmidstyle.alignment = npoi.ss.usermodel.horizontalalignment.center;//设置水平居中
cellmidstyle.verticalalignment = npoi.ss.usermodel.verticalalignment.center;//设置垂直居中
cellmidstyle.fillpattern = fillpattern.solidforeground;
cellmidstyle.fillforegroundcolor = palette.findcolor((byte)221, (byte)235, (byte)247).indexed;
cellmidstyle.borderbottom = npoi.ss.usermodel.borderstyle.thin;
cellmidstyle.bottombordercolor = palette.findcolor((byte)155, (byte)194, (byte)230).indexed;
cellmidstyle.borderleft = npoi.ss.usermodel.borderstyle.thin;
cellmidstyle.leftbordercolor = palette.findcolor((byte)212, (byte)212, (byte)212).indexed;
cellmidstyle.setfont(font);
#endregion
var sheet = workbook.createsheet("sheet1");//创建表格
// 第一行存放列名
var row = sheet.createrow(0);
for (int i = 0; i < titles.count; i++)
{
var cell = row.createcell(i);
cell.setcellvalue(titles[i]);
int length = encoding.utf8.getbytes(titles[i]).length;
sheet.setcolumnwidth(i, length * 256);//设置表格列宽
cell.cellstyle = cellstyle;//设置单元格样式
}
int rowindex = 1;
foreach (var record in list)
{
row = sheet.createrow(rowindex);
row.createcell(0).setcellvalue("单元格1");//给rowindex行的第1列的单元格赋值
rowindex++;
}
// 创建文件
using (filestream fs = new filestream(string.format("{0}/{1}", path, datetime.now.tostring("yyyymmddhhmmss") + ".xls"), filemode.create))
{
workbook.write(fs);
}
上一篇: nyoj 119士兵杀敌(三)(线段树区间最值查询,RMQ算法)
下一篇: 第一个Web站点应用
推荐阅读
-
数组的创建、运算、求解、维度相互转化、切片操作
-
ASP.NET MVC NPOI导入Excel DataTable批量导入到数据库
-
PHP操作数据库 动态创建字段
-
分享一个利用php输出excel文件的类 用于报表操作很方便
-
python使用openpyxl库读写Excel表格的方法(增删改查操作)
-
Excel 2007中创建双坐标的图表效果
-
Excel2007中应用、创建或删除单元格样式
-
excel操作之Add Data to a Spreadsheet Cell_javascript技巧
-
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
-
Vbscript生成Excel报表的常用操作总结