用POI做的话数据量太大造成内存溢出,OOM 怎么办
1.上传Excel表的人员手工传得少一点
2.后台判断一次一次性传的少一点
(POI的SAX模式可以一定程度解决一些内存溢出的问题)
POI特点:
1.功能强大
2.代码书写冗余复杂
3.读写文件消耗内存较大,容易OOM
EasyExcel重写了POI对07Excel的解析,解决一部分了内存消耗特大的问题03版本任依赖POI的SAX模式
EasyExcel特点
1.数据模型层面进行了封装,使用简单
2.重写了07版本的Excel解析代码,减低内存消耗,可以有效避免OOM
3.只能操作Excel
4.不能读取图片
5.读写Excel,数据在excel文件,程序<实体类,MAP>两个载体之间 互相流转
所有的包目录结构
今天用到的实体类是User
@Data
public class User {
@ExcelProperty(value = “序号”, index = 0)
private String id;
@ExcelProperty(value = “姓名”, index = 1)
private String username;
@ExcelProperty(value = “年龄”, index = 2)
private String age;
}
先来个监听器MyDateListener 继承的时候泛型
@Data
public class MyDataListener extends AnalysisEventListener {
//一行一行读
@Override
public void invoke(T t, AnalysisContext analysisContext) {
}
//最终运行的方法
@Override