关于EasyExcel使用中遇见的若干坑
EasyExcel初始化ExcelWriter的时候就报错:
java.lang.ClassNotFoundException: org.apache.poi.xssf.streaming.SXSSFWorkbook
EasyExcel初始化WriteSheet的时候就报错:
ExcelGenerateException: java.lang.NoClassDefFoundError: org/objectweb/asm/Type
- 关于此类错误,可以检查一下依赖,是否有依赖冲突。
- 解决办法呢,就是去maven官网看下自己所用的easyExcel版本,对应的poi和cglib的版本,在项目pom文件中指定一下版本。[通常出问题是因为依赖版本较老,]
- 我遇见这两个问题就是分别制定了cglib和poi的版本解决的。本来可以导出的,但是引入了别的模块项目,导致部分未在子模块指定版本的依赖版本发生了变动,导致的。
EasyExcel可以正常导出.xlsx
文件,表头可以正常生成,但是数据存不进去。
- 如果确认传入的
List<Pojo>
里面的确有数据,切注释使用正确的话,可以检查一下实体类中,字段名的大小写…… 字段名首字母不可大写。
万万不可!否则映射不到。- 好比
BatchId
这样写就不行,要写成batchId
- 这个问题检查了好久……,第一次导出正常,后来手欠,把首字母都改了大写,隔了三五天一测,发现数据导不出来了。。。小心呐,切记!切记!