最近工作中遇到导出excel的任务,第一反应就是使用阿里巴巴的EasyExcel去做,简单的注解就能实现,但是在做的过程中遇到个奇怪的现象,使用@contentStyle注解,怎么用都不好使。
后面花了很多时间单步调试,发现EasyExcel里一个有趣的现象:
缓存处理逻辑:

EasyExcel在做样式处理时,使用了缓存提升效率,但是这个fieldName不是我们实体类的字段名称,而是EasyExcel内部resolveCglibFieldName处理。

可以看出来只要字段名称前两个单词同为大写或者小写才使用原有的字段名,否则就会被转换,这样导致字段名不一样,字段名对应的注解就取不到了,以至于样式怎么设置都无效。
修改了字段名称,问题解决,有点坑!!!!!
在使用阿里巴巴的EasyExcel进行Excel导出时,遇到@ContentStyle注解不起作用的问题。经过调试发现,EasyExcel的样式处理中采用了缓存策略,字段名称通过resolveCglibFieldName处理,只有特定命名规则的字段名才会被正确识别。这导致了字段名改变,注解无法匹配,从而影响样式设置。修复这个问题需要调整字段名称以符合其内部规则。
577

被折叠的 条评论
为什么被折叠?



