一、为什么用easyexcel
我在easyexcel了解之后,之所以用easyexcel主要是以下两点:
1、easyexcel 相对poi来说,在读取excel表格的时候,可以一行一行读取poi相对更节约内存。
2、easyexcel 可以直接在数据类上面指定导入列,api更加简洁。
二、excel导入解析
1、引入maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.6</version>
</dependency>
2、定义导入解析的vo类
@Data
public class UserInfo {
@ExcelProperty(index = 0)
private String name;
@ExcelProperty(index = 1)
private int age;
@ExcelProperty(index = 2)
private String address;
}
3、在操作数据类中定义内部类
public class UserInfoListener extends AnalysisEventListener<UserInfo> {
Logger logger = LoggerFactory.getLogger(UserInfoListener.class);
//每次读取100条数据就进行保存操作
private static final int BATCH_COUNT = 100;
List<UserInfo> list = new ArrayList<>();
private List<UserInfo> resultLst;
public UserInfoListener(List<UserInfo> list) {
this.resultLst = list;
}
@Override
public void invoke(UserInfo userInfo, AnalysisContext analysisContext) {
logger.error("收到消息{}

这篇博客介绍了为何选择EasyExcel而非Apache POI处理Excel,主要原因是EasyExcel在读取时内存占用更低且API更简洁。详细讲解了Excel导入的步骤,包括引入Maven依赖、定义VO类和解析操作。在文件导出部分,提到了可能出现的JavaNullPointerException问题,特别是当从本地Windows环境迁移到Open JDK的服务器时,并给出了GitHub上的解决方案链接。最后,展示了控制器如何执行具体的导入导出操作。
&spm=1001.2101.3001.5002&articleId=105458062&d=1&t=3&u=5875a65efe484f049a6edd1db0548b8c)
4043

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



