一、为什么用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("收到消息{}",JSON.toJSONString(userInfo));
li