Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI的sax模式,在上层做了模型转换的封装,让使用者更加简单方便。
本文使用easyexcel对excel文件进行操作,来实现数据以excel形式导出的功能。
需求背景:
针对用户选择的数据,利用现有的excel模板,实现批量导出的功能。比如优快云也有类似的批量导出数据功能,这里需要导出时,按照模板文件的字段导出。
现有模板字段:
实现方式:springboot+easyexcel
一、导入依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--操作excel工具包-->
<dependen