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

相关推荐
利来利往几秒前
skynet call可能引发的bug
java·junit·bug
Reuuse几秒前
【网络基础概念】
开发语言·网络·php
222you1 分钟前
MongoDB的安装和整合SpringBoot
数据库·spring boot·mongodb
程序员敲代码吗1 分钟前
DVR设备FTP更新故障及修复指南
服务器·开发语言·php
EnglishJun1 分钟前
Linux系统编程(十)--- 数据库Sqlite3
数据库·sqlite
Never_Satisfied1 分钟前
在JavaScript / HTML中,获取指定元素的父元素
开发语言·javascript·html
zh路西法1 分钟前
【C语言简明教程提纲】(三):字符串与编译预处理
c语言·开发语言
JTCC1 分钟前
Java 设计模式西游篇 - 第三回:策略模式换法宝 三打白骨精变招
java·设计模式·策略模式
秦jh_2 分钟前
【Redis】通用命令、string类型
数据库·redis·缓存
不懒不懒2 分钟前
【苏宁易购商品评价文本分析实战:从自动化爬取到分词清洗全流程】
运维·数据库·自动化