EasyExcel的导出与导入

EasyExcel的导出与导入

对比POI,EasyExcel使用起来更加的方便,性能也很优秀,趁着这次的需求,在项目中也是第一次使用EasyExcel,就整理一下我的使用内容。

我们一步一步的来介绍一下EasyExcel:

特点
1.在数据模型层面进行了封装,对比POI来说使用更加简单。
2.重写了07版本的Excel的解析代码,降低内存消耗,有效避免OOM(内存溢出)。
3.只能用来操作Excel(POI能操作word,Excel,PPT)。
4.不能读取图片。

我的编码环境是SpringBoot框架下的。

要使用EasyExcel时,首先我们要在项目的POM文件中导入EasyExcel的依赖。我是用的时2.1.2版本

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>2.1.2</version>
</dependency>

导入依赖以后我们就可以开始写代码了。

导出功能:

我用了一天的时间使用了几种我见过的Excel导出方式,其中还有一点不通顺,因为掌握的不太好,都粘贴出来,供大家参考吧。

方式一:
这种导出方式当我导出后,表头文字设定以后没有显示,暂时还不知道是什么问题,使用时请谨慎
方式一

方式二:
这种导出方法是EasyExcel的方式进行导出的
方式二

方式三:
由上面的方法我们可以将其整理成一行代码进行导出。
方式三

导出用代码:

try(ServletOutputStream outStream = response.getOutputStream()) {
            String fileName = "文件名";
            fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
            response.setContentType("application/vnd.ms-excel");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName);

            EasyExcel.write(outStream, 导出用的实体类模板.class).sheet("sheet页名").doWrite(列表集合);
        }catch (Exception e) {
            log.error(e.getMessage(), e);
        }

使用这种方法我们就可以使用EasyExcel进行导出工作了。

导入功能:

EasyExcel的导入功能也十分简单。首先我们要创建一个PostMapping的Controller接口。在SpringMVC中封装了一个上传文件的类,所以我们只需要将这个对象作为参数传入就可以了。

导入方式一:
导入方式一

除此以外,我们还要另外建立一个监听器文件,就相当于Spring的面向切面编程,当每一行读取完毕,都会执行一个方法,当全部读取完毕后同样还会执行一个方法。
读取的监听器文件
此时就可以进行Excel的读取了。

导入方式二:

同样,当我们学会了以后,就可以使用一行代码进行读取。

导入方式二

导入用代码:

try(InputStream inputStream = file.getInputStream()) {
            EasyExcel.read(inputStream, 导入用的模板实体类.class, 监听器对象).sheet("sheet页名").doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }

到这里,EasyExcel的导出与导入就已经完毕了,如果有需要使用导出与导入的API我也整理了一下,但是不是太多,有需要可以看一看
EasyExcel常用API注解

如果上面的内容还没有让你能够自由使用导入功能,请看这里
EasyExcel导入实战

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值