将数据导出到Excel表格
开发工具与关键技术:
作者:郭海明
撰写时间:2019年4月13日
此文献是根据老师教的项目,得出的总结。在浏览器浏览数据的时候,如果我们想把里面的数据保存到本地,也就是下载到电脑里面,我们则需在下载的时候,自动创建一个表格,用来装下载的数据,例如,
将这些数据导出到Excel表格,我们就先需要创建一个导出数据的按钮,
给这个按钮一个onclick(点击事件),用于后面我们写这个按钮的方法,当我们绑定这个点击事件,给这个点击事件编写方法,当我们点击这个按钮,就会执行后面编写的方法。也就是下载方法。
按钮显示出来之后,我们就可以在控制器里面去编写方法了。
先创建一个方法并将需要用到的参数放进去,
接下来就进行数据查询,就是查询页面上显示的那些数据的内容,由于查询的代码有点长,这里就不截图出来了,查询完数据之后,我们就需要在这个方法里面写一个创建Excel对象的方法,当我们使用这个方法的时候,它就会自动创建一个Excel表格,而不需要人为的去创建了。
在解决方案资源管理器里面找到项目,然后在项目里面找到引用,将NPIO添加到引用里面。
就可以开始创建Excel对象了
首先将NPOI实例化一下,接着用NPOI创建对象工作簿,再给创建好的Excel表格的表头添加一个头部标题,然后就是给每一列的开头一个名称。
接着就是给sheet添加一行,通过前面的数据查询,将这些数据添加在同一行里,通过for循环,有多少条数据,就自增让这些的数据一行一行的显示出来。
接着给这个Excel文件一个名称,后面加上时间日期。
把Excel转化为文件流输出,首先定义文件流,然后将工作簿写入文件流,输出之前调用调用Seek方法,获取文件流的长度。
然后返回这个BookStream局部变量,因为这是一个文件类型,所以我们使用的是File。
返回视图,给这个导出Excel表格的按钮一个点击事件,
这个页面表格前面写了下拉框筛选,所以这个下载Excel表格我们可以给用户一个提示,提示他是否要筛选数据才下载,首先获取这些下拉框的ID的值,判断第一个下拉框是否为空字符串,或者为空。如果是,则提示用户“数据还没有筛选,是否需要筛选?”并给用户一个选择,如果用户选择继续,则跳转到下载Excel表格。这样点击按钮下载Excel表格就完成了。