使用EasyExcel文件导入时报错
- 1. 文件导入时报错
- (1)前端提示信息【`Convert data com.alibaba.excel.metadata.data.ReadCellData@e3299cee to class java.lang.Long error`】
- (2)后端报错信息【com.alibaba.excel.exception.ExcelDataConvertException: Convert data com.alibaba.excel.metadata.data.ReadCellData@e3299cee to class java.lang.Long error 】
- 解决方法:
- (3)导入时出现类转换异常【java.lang.ClassCastException: net.srsoft.digit.cdi.dfs.domain.SrCdiDfsSupervise cannot be cast to net.srsoft.digit.cdi.dfs.domain.excel.SuperviseImportExcel</u>】
1. 文件导入时报错
(1)前端提示信息【Convert data com.alibaba.excel.metadata.data.ReadCellData@e3299cee to class java.lang.Long error
】
(2)后端报错信息【com.alibaba.excel.exception.ExcelDataConvertException: Convert data com.alibaba.excel.metadata.data.ReadCellData@e3299cee to class java.lang.Long error 】
解决方法:
① 注解错用,EasyExcel中的注解@ExcelProperty使用了若依中的注解@Excel,导致在监听时默认使用了前两个属性Long类型的
② 监听器中的读的实体类对象出错
(3)导入时出现类转换异常【java.lang.ClassCastException: net.srsoft.digit.cdi.dfs.domain.SrCdiDfsSupervise cannot be cast to net.srsoft.digit.cdi.dfs.domain.excel.SuperviseImportExcel】
考虑如下几种情况:
① 监听器中所读的实体类中的注解是否为@ExcelProperty
,不可混用。@ExcelProperty
为alibaba的EasyExcel中的注解,而@Excel
是若依中的注解。
② 控制层中导出的方法中的EasyExcel.read(xxxx, className.class, xxxListener).sheet().doread();
里面的className是否与监听器中的一致。
于此,谢君观之。若君 兴之所至,观之文末,有谏言者,吾便从谏如流。
书也,吾当复观之,亦采之;语也,吾当俯身倾耳以请,而不负其烦也,亦改之。
止于此,IT之路道阻且长,其术业之迭新亦疾,吾等须相扶相持,始得斯道愈行愈远,愿诸君共勉之~~~