.NET NPOI导出Excel
什么是NPOI?
NPOI的由来其实是根据JAVA的POI演化而来的,有人就要问了那为什么叫NPOI呢?首先 “N” 代表的是 .NET,POI不用说就是根据JAVA的POI演化而来。
NPOI官网地址:http://npoi.codeplex.com/
相比于微软自带的导出导入技术,小编个人认为还是NPOI好用一点。NPOI缺点在哪呢?小编认为主要在Word文档这方面,相比于Excel,NPOI导出Word文档就不是那么“适用”了;
好!废话就不说那么多了,直接上干货。
NPOI导出Excel文档?
1、创建一个格式,比如:Excel格式、Word文档格式
//创建Excel类 var workbook = new HSSFWorkbook();
2、创建一个单元
//创建表 var table = workbook.CreateSheet("事业支出表");
3、创建首行 说明:NPOI不能创建首列,只能创建首行,除非一行一行创建,创建完成后给第一个表格赋值
//创建第一行 var row0 = table.CreateRow(0);
4、给第一行赋值 要想给行赋值,那么必须创建列
①:创建列 说明:i:代表创建多少那一列 ,行以及列都是用0开始
//创建列 var cell = row0.CreateCell(i);
②:给每一列赋值 说明:在这里cell是同上的,上面创建的列名称是什么,想要给这一列赋值,名称就必须一样
//赋值 cell.SetCellValue("值");
5、样式
①:合并单元格 说明:这里小编只能一个行行一列列进行合并单元格,小编不知道有没有什么简单方式。如果有:请大佬留言告诉我,万分感谢
//第一个数字:代表从哪一行开始;第二个数字:是到哪一行结束;第三个数字:从哪一列开始;第四个数字:到哪一列结束
table.AddMergedRegion(new CellRangeAddress(0, 1, 0, 0)); table.AddMergedRegion(new CellRangeAddress(0, 1, 1, 1)); table.AddMergedRegion(new CellRangeAddress(0, 1, 2, 2)); table.AddMergedRegion(new CellRangeAddress(0, 1, 3, 3)); table.AddMergedRegion(new CellRangeAddress(0, 1, 4, 4)); table.AddMergedRegion(new CellRangeAddress(0, 1, 5, 5)); table.AddMergedRegion(new CellRangeAddress(0, 1, 6, 6)); table.AddMergedRegion(new CellRangeAddress(0, 1, 13, 13)); table.AddMergedRegion(new CellRangeAddress(0, 1, 20, 20)); table.AddMergedRegion(new CellRangeAddress(0, 1, 21, 21)); table.AddMergedRegion(new CellRangeAddress(0, 0, 7, 12)); table.AddMergedRegion(new CellRangeAddress(0, 0, 14, 19));
②:创建样式 说明:样式生命的时候必须是跟你创建的那个Excel格式名称相同的
//创建样式
ICellStyle style = workbook.CreateCellStyle();
//创建字体
HSSFFont cellStyleFont = (HSSFFont)workbook.CreateFont();
cellStyleFont.Boldweight = 800; //字体加粗
style.SetFont(cellStyleFont); //将字体绑定到样式
//设置单元格的样式:水平居中
style.Alignment = HorizontalAlignment.Center;
//设置单元格的样式:垂直居中
style.VerticalAlignment = VerticalAlignment.Center;
//给列赋值上样式
cell.CellStyle = style;
③:导出文件
//保存文件
string strFilePath = "";
string strGuid = Guid.NewGuid().ToString();//生成唯一标识 string FilePath = "路径";//创建文件夹 Directory.CreateDirectory(strFilePath); string Time = DateTime.Now.ToString("yyyyMMddHHmmss");
//生成唯一的文件夹以及文件名称,防止放在一个冲突 using (var fs = File.OpenWrite($@"{strFilePath}\事业部收支表{Time}.xls")) { //写入文件 workbook.Write(fs); }
以上就是NPOI的导出Excel表格了,如果有哪里说的不仔细,请留言告诉小编,小编只要不是特别忙就会回复。
嘿嘿!首次分享。如果有哪里的说的不对的地方,请大佬们留言指正一下,万分感谢。
路漫漫其修远兮,吾将上下而求索。
加油!

浙公网安备 33010602011771号