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的方法就是这种


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部