导出Excel表格

作者:坚定的守猴

撰写日期:2019年5月15日

开发软件和关键技术:VS;创建Excel表

在一个项目里面,往往能够实现对于数据的导入和导出。但是对于导入导出的数据,我们得需要创建一个Excel表格去对这些导入导出的数据进行合适的处理,把需要的数据放到Excel表格里面,这样就把表格和数据一起导入导出了。与导入Excel不同的是,导出就相对来说要简单一点。我们首先来简单的了解一下它的思路。

导出Excel表格,先把所需要导出的数据进行查询和筛选,之后就创建一个Excel表格的格式,这个格式目的就是对导入进去的数据进行一种规范,能让导出来的数据井然有序。将导入表格里面的数据文件转化为内存流,然后通过调用Seek这程序集来确定导出文件的位置,最后就将导出的Excel表格返回的指定的页面显示。

简单了解它的思路,现在我们就通过导出考生这个例子来实现一下这效果。

按照刚才所说到的思路,第一步就是先查询出先要导出来的数据,然后对这些数据进行条件的筛选。
在这里插入图片描述

与导入Excel表格一样,在括号里面的四个参数是从页面传过来的,作为条件查询和筛选,所以在这几个参数就相当于担任数据的“信使”。引用studentVo这个实体类,把所需要的数据的数据表的字段给连接起来进行查询。从第二行解说一下代码,从数据库找到学院表的信息,连接到学生表里面的学院ID,最后就等于学院表里面的字段学院ID;下面的就到了专业信息,依次按照这种查询的方式把专业、年级、班级和用户这些数据给查询出来。到最后把查询出来的数据按照倒序的方式进行排序,这样的目的就是方便我们对新增或者修改的那些数据的查看。

把所需要的数据表的信息查询成功之后,就把导出数据表信息的名称给查询一遍,下面的三个字段ID作为数据的筛选的条件。然后就按照在表里面对数据进行一行行的查询。
在这里插入图片描述

下面条件筛选那里就用Lambda表达式,就是在上面查询到的学生表的数据字段等于传过来参数的字段,那就返回定义好的那个参数。从上面的表达式来看,就有点类似于数学里面的运算式,定义一个m的参数,然后就把运算后的结果传过来。就是通过这种方式,把上面的三个条件字段进行筛选。

基本的数据已经查询完毕,下面就是创建Excel表了。
在这里插入图片描述

在创建之前,还得先引用一个NPOI的程序集,这个程序集是用于创建工作本之类的。引用成功之后,接下来就是四个步骤:创建Excel工作簿、工作表和表头行;构建出整体的一个表的框架之后,就再设置表头。一张表里面有多种不同的数据,把这些不同数据的字段对应的放到表头。

表格的外层框架构建好了,对内部进行处理一下
在这里插入图片描述
创建表格行的格式,把查询到的数据一行行添加到表格里面。

数据成功添加进来之后,就开始为Excel文件进行命名,为了方便区分先后添加进来的文件,就按照时间的顺序进行命名。
在这里插入图片描述

按照上面所说的思路去走,命名之后就把文件转化并写入内存流之后,就调用程序集Seek读取内存流里面的Excel文件的位置,之后采用MIME返回对应的页面

在这里插入图片描述

控制器这边的代码就基本的介绍完毕,下面就到页面那边简单的说一下JS部分·
在这里插入图片描述

在控制器处理好的数据就通过那边的参数传过来页面这边,然后就进行一个判断,判断条件就是不能为空或者找不到。
在这里插入图片描述

最后就对能够导出的数据进行提示信息,在一个窗体对导出来的数据依次进行展示。

现在我们到页面看一下导出的效果如何
在这里插入图片描述

在导出考生那里添加的点击事件,把需要导出的数据通过下拉框数据的查询进行导出
在这里插入图片描述

点击导出考生,按提示操作。
在这里插入图片描述


查询到的数据已经成功被导出,点击在浏览器的左下方的提示信息,就能查看导出的数据!
在这里插入图片描述
所需要的数据都在表格里面,导出Excel表格基本介绍完毕了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值