导出excel-NPOI

Posted 空城里的往日时光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导出excel-NPOI相关的知识,希望对你有一定的参考价值。

前台调用:

view: <a href=‘/Admin/NurseUser/Excel‘ target=‘_blank‘>导出Excel</a>

js: window.location = "/Controller/Excel";

后台代码(控制器):

public FileResult Excel(){
//第一步:以虚拟表的形式获取要导出的数据
DataTable dt = this.Service.Excel(); 
//第二步:创建excel文件的对象
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
//第三步:添加一个sheet页
NPOI.SS.UserModel.ISheet sheet1 = book.CreateSheet("Sheet1");
//第四步:sheet页添加栏位
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("标题一");
row1.CreateCell(1).SetCellValue("标题二");
//第五步:将数据写入sheet各个行
for(int i = 0;i<dt.Rows.Count;i++){
NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++){
rowtemp.CreateCell(j - 1).SetCellValue(dt.Rows[i][j].ToString());
}
}
//第六步:写入客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
ms.Seek(0, SeekOrigin.Begin);
return File(ms, "application/vnd.ms-excel", "用户信息.xls");      
}
注意:此代码须在控制器里,在dao层 return File中的File会被当作变量处理,导致报错,其本质是一个类型。

以上是关于导出excel-NPOI的主要内容,如果未能解决你的问题,请参考以下文章

导出eclipse可部署插件和片段时出错

这些角度电子邮件指令代码片段如何连接

小程序各种功能代码片段整理---持续更新

如何把视频片段做成动态图片

使用While循环导出Excel

java导出txt文件