C# MVC NPOI导出

前台:

<form id="fmexp" method="post" target="_blank">
</form>

function export() {
var $end = $("#endate").val();
$("#fmexp").form('submit', {
url: '@Url.Action("ApplyExp")/' + $end,
onSubmit: function () {
},
success: function (result) {
$("#exportdate").linkbutton('disable');
$end = "";
}
})
}

后台:

public ContentResult ApplyExp(string id)   //这个值是路由配置里的值。
{
ApplylistBLL alb = new ApplylistBLL();
DataTable dt = alb.EndData(id);
dt.TableName = "培训汇总";
if (dt != null && dt.Rows.Count > 0)
{
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.ISheet sheet = book.CreateSheet(dt.TableName);
NPOI.SS.UserModel.IRow row = sheet.CreateRow(0);

// //标题头与列宽

for (int i = 0; i < dt.Columns.Count; i++)
{
row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
}
for (int i = 0; i < dt.Rows.Count; i++)
{
NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
{
row2.CreateCell(j).SetCellValue(Convert.ToString(dt.Rows[i][j]));
}
}

using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}.xls", DateTime.Now.ToString("yyyyMMddHHmmssfff")));
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();
}
}
return Content("");
}

引用dll---------NPOI.dll,   NPOI.OOXML.dll,  NPOI.OpenXml4Net.dll ,   NPOI.OpenXmlFormats.dll

已上传至文件。

原文地址:https://www.cnblogs.com/w1-y2-q5/p/6879420.html