1.Lombok插件:
@Accessors(chain = true)
该注解会与easyExcel读取表格数据的时候产生冲突,将该注解注释掉即可。
2.字段命名:
private String userName;
private String userid;//没有驼峰命名
命名时严格遵守驼峰命名法,如果忽略可能会导致读取数据失败。
3.通用监听器:
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import java.util.ArrayList;
import java.util.List;
/**
• Excel监听器,用于读取上传的excel内容,可自定义修改
• @author mantou&wangzai
• @param
*/
public class ExcelListener extends AnalysisEventListener {
/**
• 自定义用于暂时存储data。可以通过实例获取该值
*/
private List datas = new ArrayList<>();
/**
• 通过 AnalysisContext 对象还可以获取当前 sheet,当前行等数据
*/
@Override
public void invoke(T object, AnalysisContext context) {
//数据存储到list,供批量处理,或后续自己业务逻辑处理。
datas.add(object);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
/*
datas.clear();
解析结束销毁不用的资源
*/
}
public List getDatas() {
return datas;
}
public void setDatas(List datas) {
this.datas = datas;
}
}
注:记得引入EasyExcel依赖:
<!-- easyexcel -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>