1、当我们在一个网站看到了需要的数据时,有时候会选择所需要的数据进行导出,那么导出的时候就需要用到导出的表格,下面就是一个案例,在需要导出的时候,我们需要根据页面的表格来进行操作。

导入和导出

2、在进行导出的时候,我们也需要进行数据的查询,然后再设置其可以条件查询,导出的时候必须得添加一个NPOI的引用,然后将查询出来的数据转化为对象列表的格式。

导入和导出

3、创建工作簿Excel,给表格实例化,引用NPOI。

 

4、为工作簿创建工作表并命名。

导入和导出

5、编写工作表,给表设置表头,创建标题行并设置字段。创建第一行,并创建9列赋值。再创建数据行。

导入和导出

 

6、给Excel表格文件命名,怎么命呢?我们根据时间来给Excel文件表格命名,因为时间具有唯一性,然后声明一个值来赋值,"考生信息"就是Excel文件名的名称,接着获取当前的时间来拼接字符串。

导入和导出

 

7、它返回的值是一个文件类型,"application/vnd.ms-excel"它的意思是返回一个Excel表格的类型,它返回的参数值有三个。

导入和导出

 

8、在输出的是文件时,因为它还是文件流,所有我们还需要借助IO流来帮助导出。文件流的方式也有两种方式,一种是通过read来读取,一种是通过write来读取。

导入和导出

 

  1. 导出之前调用Seek(偏移量,游标位置)把0位置指定为开始位置。

 

10、在导出的时候,我们专门设置了其单独的按钮,用Layui的button的导出栏来设置按钮的绑定工具条来绑定数据,导出时可以进行条件查询,然后导出的数据必须与查询出来的数据进行比较,必须相等才能获取当前导出的条件数据。这样一个导出的数据就完成了。

 

11、有导出就有导入,但是导入就比导出较麻烦。

 

  1. 在导出时,我们要判断数据的表格是不是Excel表格(.xls)类型。

<1>获取读取的文件

<2>把文件转换为二进制数组

<3>二进制数组转成内存流

<4>利用NPOI把内存流中的数据读取成工作簿Excel

  1. 工作簿中有工作表
  2. 工作表中有数据
  3. 数据的准确性
  4. 数据都有,然后读取数据

下面是借助模态框来制作的导入数据

导入和导出

 

12、就算是导入的表都选好后,我们也需要把表格临时存放在临时表格里,不能马上把表格存入数据库,因为它还要经过筛选才能进行到导入数据库。

 

13、导入也还需用到IO流的参数来传输值。HttpPostedFileBase是充当类的基类,这些类提供对客户端已上载的单独文件的访问。

导入和导出

 

14、获取文件的名称来读取文件类型。要注意的是:在导入是必须要有模板,在能进行对文件的导入,不然会显示文件的不存在。导入时要严格按照下面的模板进行。

导入和导出

 

15、因为文件的类型有很多种,如:xlsx、xls、Csv,但现在的NPOI只支持xls的格式,在HTML里还需设置accept的属性。它规定能够通过文件上传进行提交的文件类型。

导入和导出

 

16、判断类型是不是.xls格式,Word的Excel不可以跟页面直接对接,必须转化成二进制然后在转化为内存流才能读取。要注意byte的内存存放

导入和导出

 

17、接着把IO流转化为内存流的格式:

导入和导出

 

18、判断工作簿中有工作表,把内存流转化为工作簿(IWorkbook)导入和导出

 

19、在IWorkbook工作簿中获取处ISheet工作表。注意获取的索引值。

导入和导出

20、判断数据的准确定,要注意一列一列的获取数据,然后再在页面上读取出数据的值。

21、最后,把数据保存到Session中就是成功了。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-01
  • 2022-03-09
  • 2021-07-29
  • 2021-10-11
  • 2021-11-26
  • 2021-06-04
相关资源
相似解决方案