Convert data com.alibaba.excel.metadata.data.ReadCellData@3238d9a8 to class java.lang.Integer error
作者:mmseoamin日期:2024-02-02

今天在做Excel导入数据的时候发现的这个异常Convert data com.alibaba.excel.metadata.data.ReadCellData@3238d9a8 to class java.lang.Integer error;看上去就是类型转换异常.

这里看一下报错之前的代码:

Convert data com.alibaba.excel.metadata.data.ReadCellData@3238d9a8 to class java.lang.Integer error,第1张

 这一步是调用工具类把实体类zhCopyrightFilmLibraryReap复制给zhCopyrightFilmLibrary;

看一下解决后的代码:

Convert data com.alibaba.excel.metadata.data.ReadCellData@3238d9a8 to class java.lang.Integer error,第2张这里对这个setNumber做了类型转换就好了;

现在来说一下原因:当我们在用EasyExcel读取目标文件的时候,读取出来的字段类型都是String的,

之前zhCopyrightFilmLibraryReap里的setNumber是Integer类型的所以一测试api就会报错,后来改成string类型,加上上面的类型转换就解决了.

总结: EasyExcel读取出来的字段都是String类型,如果你的实体类有其他类型需要做转换!

最主要的是你用EasyExcel读取出来的实体类一定都要给String类型.如下图:

Convert data com.alibaba.excel.metadata.data.ReadCellData@3238d9a8 to class java.lang.Integer error,第3张