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

相关推荐
草莓熊Lotso9 分钟前
Linux 文件描述符与重定向实战:从原理到 minishell 实现
android·linux·运维·服务器·数据库·c++·人工智能
傻乐u兔10 分钟前
C语言进阶————指针4
c语言·开发语言
大模型玩家七七12 分钟前
基于语义切分 vs 基于结构切分的实际差异
java·开发语言·数据库·安全·batch
历程里程碑12 分钟前
Linux22 文件系统
linux·运维·c语言·开发语言·数据结构·c++·算法
岳麓丹枫0011 小时前
PostgreSQL 中 pg_wal 目录里的 .ready .done .history 文件的生命周期
数据库·postgresql
牛奔1 小时前
Go 如何避免频繁抢占?
开发语言·后端·golang
寻星探路5 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024067 小时前
Bootstrap 警告框
开发语言
2601_949146537 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言