EasyExcel的invoke方法解析为null问题分析与解决方案

业务场景:

 芋道框架1.8+版本的Excel导入需要实现多sheet页导入,每个sheet页的表头都不一样


问题产生:

官方文档地址:读Excel | Easy Excel (alibaba.com)

在跟着官方文档敲完代码后运行时发现,虽然不报错但是接收到的list数据size正常,可内容都是null:

 虽然但是没报错,但用Object试了下也是null

我根据官方文档的导入VO类:

(@ExcelIgnoreUnannotated是导入时检索@ExcelProperty注解用的此处不影响)

)

官方的示例:


 分析原因:

看了一下 官方的常见问题解释:

关键其实官方已经都举出来了:@Accessors(chain = true)无法被Cglib读取

但这个注解默认就是关闭的,而且我这里并没有使用@Accessors注解,原因如下

芋道的全局配置此处是打开的,也就是说Lombok 的@Getter @Setter 是以链式生成的

这是正常的@Setter生成的普通方法:

这是@Accessors(chain = true)时,@Setter生成的链式方法:

解决方案:

方案一:

        不使用Lombok@Data @Getter @Setter 方法(),用快捷键一键生成:

方案二:

        可以使用 @Getter @Setter,但是必须手动在类中显式配置@Accessors(chain = false)

总结:

        其实官方文档告知了原因,但是没想到芋道的全局的配置是开启的,就反复查询了好久

        

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值