美文网首页
EasyExcel导出文件实体类加上@Accessor(chai

EasyExcel导出文件实体类加上@Accessor(chai

作者: 拄杖忙学轻声码 | 来源:发表于2021-09-01 17:28 被阅读0次

    问题发现:

    在使用easyexcel(github.com/alibaba/eas…) 导出的时候,发现以前的实体类导出都很正常,但是现在新加的实体类不正常了,比对了发现,新加的实体类增加了@Accessor(chain = true)注解,我们的目的主要是方便我们链式调用set方法:

    new UserDto()
    .setUserName("")
    .setAge(10)
    ........
    .setBirthday(new Date());
    

    导致结果:
    1、无法读取到excel表格中的数据到dto属性中

    原因:
    easyexcel底层使用的是cglib来做反射工具包的:
    com.alibaba.excel.read.listener.ModelBuildEventListener 类的第130行
    BeanMap.create(resultModel).putAll(map);
    最底层的是cglib的BeanMap的这个方法调用

    abstract public Object put(Object bean, Object key, Object value);

    解决方案:
    1、去掉Accessor注解
    2、等待EasyExcel的作者替换掉底层的cg

    相关文章

      网友评论

          本文标题:EasyExcel导出文件实体类加上@Accessor(chai

          本文链接:https://www.haomeiwen.com/subject/vlwnbltx.html