我在EasyExcel + Vue +Springboot 前后端联动,快捷导出Excel文件中,介绍了Excel文件的导出,但是后来发现了一个问题,就是导出的文件中,部分列是空的,如下图:
问题探究
经过加断点,发现sql运行和数据读取没有问题,这些数是取到了的。
也就是说在使用easyExcel把数据导出的时候出现了问题。然后就开始了漫长的求索。
看了一遍语雀上的文档,也没找到什么问题。
直到在一个博主的评论里看到了easyExcel的另一个文档。
在这篇文档的常见问题里,有这么一句:
读写反射对象用到了Cglib,所以成员变量必须符合驼峰规范,而且使用@Data不能使用@Accessors(chain = true)。后续会考虑支持非驼峰。
而我的实体类中,导出为空的那几个字段都是大写字母开头的,不符合驼峰规范的规则。
解决办法
把实体类的字段的首字母修改为小写,使之符合驼峰规范,重启项目,问题解决: