导出数据到Excel表格

作者:李光辉

撰写时间:2019.5.13

接着上次介绍的导入Excel表格,导入需要的是将Excel表格里面的数据导入到数据库中并保存,而导出则是获取当前页面所需的数据保存到Excel表格,如何将当前需要的表格数据导出呢?下面来作一个简要的介绍吧。
导出数据到Excel表格

如上图所示,操作的步骤为选择需要导出的数据,点击导出按钮弹出提示框,点击确认后进行后台下载Excel表格,需要实现这些功能需要进行一系列的编码。

首先在控制器那边进行数据连表查询,然后用Lambda表达式进行条件筛选,同时如果想要将获取的数据导出到Excel表格,我们需要对Excel表格进行自定义样式设计。下面对基本的样式进行编码设计。
导出数据到Excel表格
通过创建Excel工作簿、创建工作表、创建表头行、设置表头得到最原始Excel表格的样式,如下图所示
导出数据到Excel表格
在创建好Excel表格之后,我们需要开始为Excel表格添加数据
导出数据到Excel表格
然后为Excel文件命名,防止命名发生重复冲突,添加即时日期作为文件后缀
导出数据到Excel表格
将获取到的表格数据转化为内存流,将Excel文件写入内存流中
导出数据到Excel表格
输出之前调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置

ExcelStream.Seek(0, SeekOrigin.Begin);

注:Seek(0,Seek.begin) 第一个参数表示相对位置,第二个参数表示参照位置

MIME文件类型(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型
导出数据到Excel表格
控制器的代码部分基本完成,然后就是视图那边的一些简单的编码,视图方面需要调用控制器所写的方法,然后获取当前表格数据的筛选条件,再判断数据是否相等。
导出数据到Excel表格
然后就是弹出提示框,点击确定系统自动进行数据到处及后台运行下载
导出数据到Excel表格