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

2024-03-07 930 views
6

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

回答

5

附上代码和excel

3

导入.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;
}
0

图片

8

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

3

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

2374

DTO改成这样就读到了

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

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