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.新建对象来接收

相关推荐
molaifeng7 小时前
像搭积木一样理解 Golang AST
开发语言·后端·golang
SystickInt7 小时前
C语言 UTC时间转化为北京时间
c语言·开发语言
FixPng7 小时前
【数据库】MySQL基于MyCAT分库分表
数据库·mysql
黎雁·泠崖7 小时前
C 语言动态内存管理进阶:常见错误排查 + 经典笔试题深度解析
c语言·开发语言
xixixiLucky8 小时前
IDEA中MAVEN项目找依赖的快捷插件
java·maven·intellij-idea
成为大佬先秃头8 小时前
渐进式JavaScript框架:Vue 过渡 & 动画 & 可复用性 & 组合
开发语言·javascript·vue.js
嘻嘻嘻开心8 小时前
Java IO流
java·开发语言
虹科网络安全8 小时前
艾体宝洞察 | 生成式AI上线倒计时:Redis如何把“延迟”与“幻觉”挡在生产线之外?
数据库·人工智能·redis
JIngJaneIL8 小时前
基于java+ vue家庭理财管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
hakesashou8 小时前
python 随机函数可以生成字符串吗
开发语言·python