[alibaba/easyexcel]使用PageReadListener读到的数据都是空

2024-03-07 170 views
2

图片 图片 能读取到数据,但是转换泛型后没有数据

回答

0

附上代码和excel

9

导入.xlsx

@PostMapping("/import")
    public void importMetrics( @RequestParam("file")MultipartFile file) throws IOException {
        InputStream input = file.getInputStream();
        EasyExcel.read(input, ExcelMetricData.class, new PageReadListener<ExcelMetricData>(list -> {
            // TODO
        })).sheet().doRead();
    }
@Getter
@Setter
@EqualsAndHashCode
public class ExcelMetricData {
    @ExcelProperty(index = 0)
    private Long id;
    @ExcelProperty(index = 1)
    private String recordTime;
    @ExcelProperty(index = 2)
    private Float value;
}
5

图片

0

我用的是zulu jdk,跟这个有关系吗?我调试跟到BeanMap的put时,put完成以后,值没有更新进去,依旧是null

6

原因时我lombok.config里默认打开了链式setter了 图片

2374

DTO改成这样就读到了

@Accessors(chain = false)
@Data
public class ExcelMetricData {
    private Long id;
    private String recordTime;
    private Float value;
}
7

虽然解决了,但是能否加一个警告啊,或者文档里给与说明,提醒开发者不能使用链式getter,否则遇到问题真不知道从哪找原因