Java领域解析、生成Excel比较有名的框架有Apache poi、jxl等。但他们都存在一个严重的问题就是非常的耗内存。如果你的系统并发量不大的话可能还行,但是一旦并发上来后一定会OOM或者JVM频繁的full gc。
EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单、节省内存著称。EasyExcel能大大减少占用内存的主要原因是在解析Excel时没有将文件数据一次性全部加载到内存中,而是从磁盘上一行行读取数据,逐个解析。
EasyExcel采用一行一行的解析模式,并将一行的解析结果以观察者的模式通知处理(AnalysisEventListener)。
我们想要使用EasyExcel,首先需要引入对应的依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
因为EasyExcel是在POI的基础上做的封装,因此我们还需要引入POI的依赖
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
实现写操作
创建实体类,设置属性于excel表头对应(使用@ExcelProperty注解来实现)
package com.atguigu.demo.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* <p>
* 实体类,与excel表头对应
* </P>
*
* @author Kk
* @since 2022/2/26 13:46
*/
@Data
public class DemoData {

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



