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

相关推荐
学编程的小鬼几秒前
MySQL的快速入门
数据库·mysql
_Power_Y几秒前
MySql复习及面试题学习
数据库·学习·mysql
学习编程的Kitty3 分钟前
MySQL——数据类型和表的操作
数据库·mysql
xxxxxxllllllshi4 分钟前
Java 集合框架全解析:从数据结构到源码实战
java·开发语言·数据结构·面试
埃泽漫笔15 分钟前
消息顺序消费问题
java·mq
爱编程的鱼20 分钟前
Python 与 C++、C 语言的区别及选择指南
c语言·开发语言·c++
程序新视界26 分钟前
MySQL中,日期、时间与时间戳三种数据类型的区别
数据库·后端·mysql
运维闲章印时光37 分钟前
网络断网、环路、IP 冲突?VRRP+MSTP+DHCP 联动方案一次性解决
运维·服务器·开发语言·网络·php
DASXSDW38 分钟前
NET性能优化-使用RecyclableBuffer取代RecyclableMemoryStream
java·算法·性能优化
lang2015092843 分钟前
MySQL 8.0性能优化终极指南
数据库·mysql·性能优化