1、当list对象加上 static修饰符,DemoDataListener的实例调用getData有返回值,否则就没有
不知道是啥原因
public static List<TestMaoDto> list = new ArrayList<>();
private TestMaoDto demoDAO;
public DemoDataListener() {
demoDAO = new TestMaoDto();
}
public DemoDataListener(TestMaoDto demoDAO) {
this.demoDAO = demoDAO;
}
public void invoke(TestMaoDto data, AnalysisContext context) {
list.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 这里也要保存数据,确保最后遗留的数据也存储到数据库
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
return;
}
public List<TestMaoDto> getData(){
return list;
}
}
@Test
public void test(){ String fileName ="../excelstore/test.xlsx"; // 写法2: DemoDataListener demoDataListener = new DemoDataListener();
ExcelReader excelReader = EasyExcel.read(fileName, TestMaoDto.class, demoDataListener).build();
EasyExcel.read(fileName, TestMaoDto.class, new DemoDataListener()).sheet().doRead();
System.out.println(demoDataListener);
List<TestMaoDto> data = demoDataListener.getData();
System.out.println(JSON.toJSONString(data));
excelReader.finish();
}