excel解析数据为null问题

场景:

在项目上传文件解析excel时数据为null,但是excel反复确认有很多行值,并且路径下的文件是相对应的,代码也是用的以前的,但是就是为空

原因:

当时断点看到解析到了表头读到了数据行数 但是没读到数据内容,又把这个文件在其他接口试了下发现能解析到值,说明不是文件格式问题,也不是代码逻辑问题,最后换了实体类就可以了,之后对比之前实体类猜想验证了是注解@Accessors(chain = true)引起的问题,

因为Excel在解析时会先把每行数据解析成map, 然后再由Map转存到Bean中。使用BeanMap从Map拷贝到Bean, 需要Map 的Key与Bean的变量名一致, 并有对应的 set方法, 且set方法为 void, 才能拷贝成功。然而@Accessors(chain = true)注解会使set方法返回的不是void, 而是当前对象。所以导致文件内容不能正常读取到实体对象中。

解决:

1.取消这个注解

2.改成@Accessors(chain = false)

3.新建对象来接收

相关推荐
IT古董10 分钟前
【第四章:大模型(LLM)】05.LLM实战: 实现GPT2-(6)贪婪编码,temperature及tok原理及实现
android·开发语言·kotlin
程序员陆通33 分钟前
Java高并发场景下的缓存穿透问题定位与解决方案
java·开发语言·缓存
北执南念36 分钟前
Java多线程基础总结
java
{⌐■_■}37 分钟前
【MongoDB】简单理解聚合操作,案例解析
数据库·线性代数·mongodb
zuozewei1 小时前
MySQL高可用改造之数据库开发规范(大事务与数据一致性篇)
数据库·mysql·数据库开发
澡点睡觉1 小时前
golang的继承
开发语言·后端·golang
David爱编程2 小时前
JDK vs JRE:到底有什么本质区别?99% 的人都答不上来
java·后端
洛阳泰山3 小时前
基于 Easy Rules 的电商订单智能决策系统:构建可扩展的业务规则引擎实践
java·开发语言·规则引擎·easy rules
THXW.3 小时前
【Java项目与数据库、Maven的关系详解】
java·数据库·maven
架构师沉默3 小时前
外卖平台每天1000万订单查询,是如何扛住高并发的?
java·后端·架构