npoi excel导出我最喜欢设计好execl模板,然后再写入数据,这样的好处是修改样式方便,代码量少,开发效率高。
(开发环境.net的mvc4)
1.读取模版
FileStream file = new FileStream(Server.MapPath("/Templete/装卸作业单统计明细表.xls"), FileMode.Open, FileAccess.Read);//读取模版
IWorkbook hssfworkbook = new HSSFWorkbook(file);
2.获取行
IRow row2 = sheet2.GetRow(3 + i);
3.复制行
在同一工作簿中,复制一行
row2.CopyRowTo(row2.RowNum + 1);
4.公式计算--CellFormula="SUM(C4:C"+(rowNums+1)+")"求和
sheet2.GetRow(rowNums + 1).GetCell(2).CellFormula="SUM(C4:C"+(rowNums+1)+")";//excel公式计算
5.获取列
row2.GetCell(5)
6.给列赋值--给第5列赋值
row2.GetCell(5).SetCellValue("");
7.复制工作簿---用在同一模版
ISheet sheet1 = hssfworkbook.CloneSheet(0);//复制模版
8.开启表格自动计算
sheet2.ForceFormulaRecalculation = true; //开启表格自动计算
9.删除工作簿
hssfworkbook.RemoveSheetAt(0);//删除模版,excel中的第一个工作表
10.导出客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
hssfworkbook.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", "装卸作业单统计明细表.xls");
11.合并行列
CellRangeAddress regions = new CellRangeAddress(0, 0, i, i+1);
sheet1.AddMergedRegion(regions);
12.复制列
sheet1.GetRow(2).CopyCell(1, 9);
把第二行的第一列复制到第九列。
本文暂时没有评论,来添加一个吧(●'◡'●)