首先说明下 ,EasyExcel和 EasyExcelFactory没有区别是一样。
public class EasyExcel extends EasyExcelFactory {}
如果excel文件只有一个sheet
同步获取返回值
//构建一个EasyExcelBuilder对象
//EasyExcel.read()入参有很多,本例子使用inputStream
ExcelReaderBuilder reader = EasyExcel.read(inputStream);
Class<T> clazz = null; //clazz 是 excel对应的实体类
List<T> data = reader.sheet(0).head(clazz).doReadSync();
//别忘了关闭
reader.finish();
异步获取返回值
需要做类型转化,或者定制输出的时候,才需要用异步,实现readListener,
作者觉得麻烦,略过
2.excel文件中多个sheet的读取
//构建一个ExcelReader对象
//EasyExcel.read()入参有很多,本例子使用inputStream
ExcelReader reader = EasyExcel.read(inputStream).build();
SyncReadListener sheet0Listener = new SyncReadListener();
SyncReadListener sheet1Listener = new SyncReadListener();
ReadSheet sheet0 = EasyExcel.readSheet(0).head(AnalysisResult.class).registerReadListener(sheet0Listener).build();
ReadSheet sheet1 = EasyExcel.readSheet(1).head(ExceptionData.class).registerReadListener(sheet1Listener).build();
//读取sheet
reader.read(sheet0, sheet1);
List<Object> list = sheet0Listener.getList();
List<Object> list1 = sheet1Listener.getList();
reader.finish();
需要做类型转化,或者定制输出的时候,才需要用异步,实现readListener,
作者觉得麻烦,略过。
复制代码