SQL数据导出到Excel

在MVC中将SQL数据导出到Excel中的操作如下

  1. 首先用一个button按钮来进行操作 ,给它绑定一个点击事件的方法 ,点击后请求具体的导出数据的方法(public ActionResult ExportToExcel)
    在这里插入图片描述
  2. 现在开始在方法内将SQL数据导出到Excel中
  3. 第一步将需要导出的数据用LinQ语句查询出来 ,查询出学生表的数据并且是list数据类型
    在这里插入图片描述
  4. 接下来开始在方法内创建一个Excel工作簿来接收将要导出的数据
    在这里插入图片描述
  5. 创建完Excel工作簿后 ,开始创建Excel工作簿里面的工作表 ,这里呢先引用一下NPOI来建立工作表 ,并且给工作表命名为学生信息
    在这里插入图片描述
    在这里插入图片描述
  6. 创建完Excel工作表后 ,工作表里面什么都没有 ,按照一般使用Excel的流程 ,创建完表后就是开是创建行来接收数据 ,这里呢就先创建表头行 ,并且自定义表头行的数据
    在这里插入图片描述
  7. 接下来在表头行添加学生的基本信息字段(学号 ,姓名 ,身份证号 ,性别 ,学院 ,专业 ,年级 ,班级 ,账号),代码的意思就是在创建出来的表头行里面找到下标为0的格子来设置它要显示的字符串
    在这里插入图片描述
  8. 因为不知道每次要导出的数据是多少条 ,所以这里我用for循环来循环学生表内的所有数据 ,在for循环内,创建除表头行的所有行 ,并且在循环出来的行内添加学生表内的数据(Student[i].数据库字段名)
    在这里插入图片描述
    在这里插入图片描述
  9. 现在开始为导出的Excel文件命名
    string fileName = “考生信息” + DateTime.Now.ToString(“yyyy-MM-dd–HH-mm-ss-ffff”) + “.xls”
  10. 实例化MemoryStream
    MemoryStream ExcelStream = new MemoryStream();
  11. 因为SQL导出的数据不能直接放入到Excel中 ,所以先将Excel文件转化为内存流来存放SQL导出的数据
    excelWorkbook.Write(ExcelStream);
  12. 输出之前调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置 ,Seek(0,Seek。begin) 第一个参数表示相对位置,第二个参数表示参照位置
    ExcelStream.Seek(0, SeekOrigin.Begin);
  13. 最后return返回文件类型 ,MIME文件类型(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型
    return File(ExcelStream, “application/vnd.ms-excel”, fileName);
  14. MVC中简单的SQL数据导出到Excel的方法就是这种
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值