导出数据到Excel表格

开发工具与关键技术:VS   ,   ASP.NET.MVC;

作者:吴维杰

撰写时间:2019.05.16

页面部分:

首先获取当前表格数据的筛选条件,

var AcademeID = $("#searchAcademeID").val();

var GradeID = $("#searchGradeID").val();

var ClassID = $("#searchClassID").val();

var StudentDetail = $("#searchStudentNumber").val();

然后经过多种判断,判断数据在空值和未声明的变量下,让数据赋值为0.

最后在新标签页打开下载excel的url,和下载excel的文件.

把在控制器的导出数据到Excel表格的方法引入到页面去.

window.open("ExportToExcel?AcademeID=" + AcademeID + "&GradeID=" + GradeID + "&ClassID=" + ClassID + "&StudentDetail=" + StudentDetail);

控制器部分:

首先查询出数据,再用Lambda表达式作出条件的筛选.

思路:要把数据导出到Excel表格.肯定先要制作出Excel表.

1. 创建Excel工作簿

HSSFWorkbook excelBook = new HSSFWorkbook();

2. 在工作簿中创建工作表,并为工作表命名

NPOI.SS.UserModel.ISheet sheet1 = excelBook.CreateSheet("考生信息");

3. 创建表头行

NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);

4.设置表头

row1.CreateCell(0).SetCellValue("学号");

row1.CreateCell(1).SetCellValue("姓名");

row1.CreateCell(2).SetCellValue("身份证号");

row1.CreateCell(3).SetCellValue("性别");

row1.CreateCell(4).SetCellValue("学院");

row1.CreateCell(5).SetCellValue("专业");

row1.CreateCell(6).SetCellValue("年级");

row1.CreateCell(7).SetCellValue("班级");

row1.CreateCell(8).SetCellValue("账号");

5. 写入表格数据

for (var i=0;i<listStudent.Count();i++)

{

创建行

NPOI.SS.UserModel.IRow rowTemp = sheet1.CreateRow(i+1);

写入数据

rowTemp.CreateCell(0).SetCellValue(listStudent[i].StudentNumber);

rowTemp.CreateCell(1).SetCellValue(listStudent[i].StudentName);

rowTemp.CreateCell(2).SetCellValue(listStudent[i].StudentIDNum);

rowTemp.CreateCell(3).SetCellValue(listStudent[i].StudentSex);

rowTemp.CreateCell(4).SetCellValue(listStudent[i].AcademeName);

rowTemp.CreateCell(5).SetCellValue(listStudent[i].SpecialtyName);

rowTemp.CreateCell(6).SetCellValue(listStudent[i].GradeName);

rowTemp.CreateCell(7).SetCellValue(listStudent[i].ClassName);

rowTemp.CreateCell(8).SetCellValue(listStudent[i].UserNuber);}

6. 文件名

string fileName = "考生信息" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls";

7.将Excel表格转化为流,输出

创建文件流

MemoryStream bookStream = new MemoryStream();

8.将文件写入流(向流中写入字节序列)

excelBook.Write(bookStream);

9.输出之前调用Seek

bookStream.Seek(0,SeekOrigin.Begin);

return File(bookStream, "application/vnd.ms-excel",fileName);

最后经过多种判断后把在模态框中选中的数据导入到Excel表格中去.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值