easyexcel
easyexcel copied to clipboard
在Ubuntu24.04LTS中, `EasyExcel.read`无法在指定泛型的监听器上工作
触发场景描述
按照文档中的示例,我以方法2的方式读取数据,但没有任何效果。以下是最小复现:
public static void main(String[] args) {
@Data
class Test {
@ExcelProperty(index = 0)
String partNo;
@ExcelProperty(index = 1)
String brand;
}
EasyExcel.read("/home/hotdog/桌面/缩减后.xlsx", new AbstractIgnoreExceptionReadListener<Test>() {
@Override
public void invokeHead(Map headMap, AnalysisContext context) {
}
@Override
public void invoke(Test data, AnalysisContext context) {
System.out.println(data); // 没有打印任何数据
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
}).sheet().doRead();
}
虽然和示例代码略有不同,但应该不是造成问题的关键。
此时如果我忽略AbstractIgnoreExceptionReadListener
中的泛型:
public static void main(String[] args) {
@Data
class Test {
@ExcelProperty(index = 0)
String partNo;
@ExcelProperty(index = 1)
String brand;
}
EasyExcel.read("/home/hotdog/桌面/缩减后.xlsx", new AbstractIgnoreExceptionReadListener() {
@Override
public void invokeHead(Map headMap, AnalysisContext context) {
}
@Override
public void invoke(Object data, AnalysisContext context) {
System.out.println(data); // 成功打印数据
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
}
}).sheet().doRead();
}
成功读取到数据,但格式看起来像是一个Map
:
{0=P6KE75CA, 1=LEIDITECH(雷卯)} // 文件中的数据