ASP.NAT MVC导出数据
开发工具与关键技术:MVC
作者:空白
撰写时间:2019.5.25
在ASP.NAT MVC 的页面中,获取当前的数据到Excel表格的方法,这里我会写一种方法给大家参考和学习。
页面的代码样式如下:
给个button按钮标签,再给个点击事件onclick“exportExcel()”,方法名尽量的起的有意义。
functionexportExcel()
{
//获取查询条件
Var 声明变量 = $(“存放数据的id”)。Val();
//判断
声明变量是否等于空或undefined如果是就等于0;
插件layui的弹出层提示:
layer.confirm("确定要导出当前表格中数据吗?是请点击确定,否则请重新筛选数据再导出!", { icon: 3, title: "提示" },function (layIndex) {
layer.close(layIndex);
ExportStudentAchievement的意思是导出的方法。
window.open("ExportStudentAchievement?绑定数据的id);
});
}
页面的代码样式就是这些了,接下来是控制器的代码了。
Public ActionResultExportStudentAchievement(接收页面的参数)
{
查询数据和筛选;
开始创建Excel,首先创建Excel的工作簿。HSSFWorkbook exBook = new HSSFWorkbook();
再创建工作表。ISheet sheet = exBook.CreateSheet(“工作表的名字”);
设计表头,创建表头。IRow headRow =sheet.CreateRow(0);
设计表头的字段。headRow.CreateCell(0).SetCellValue(“表头字段的名字”);
写入表格的数据用for循环。
for (int i = 0; i < listResult.Count();i++)
{创建行,IRow rowTemp = sheet.CreateRow(i + 1);
写入数据,rowTemp.CreateCell(0).SetCellValue(listResult[i]. Number);
}
将Excel的文件转化为文件流输出。
MemoryStreamexStream = new MemoryStream();
exBook.Write(exStream);
输出之前调用Seek(偏移量,游标位置)方法:确定流开始的位置。
exStream.Seek(0,SeekOrigin.Begin);
为下载的Excel文件命名。
string exFileName= “笑” +DateTime.Now.ToString(“yyyyMMddHHmmss”) + “.xls”;
返回,returnFile(exStream, “application/vnd.ms-excel”, exFileName);
}
控制器的代码样式也就这么多了,下面是效果图: