EasyExcelFactory 多sheet导入
时间: 2023-12-15 12:03:35 浏览: 97
多个sheet的Excel导入
你可以使用 EasyExcelFactory 来实现多sheet导入。首先,确保你已经引入了 EasyExcel 的依赖。
接下来,你可以使用以下代码来实现多sheet导入:
```
// 创建读取工具类
ExcelReader excelReader = EasyExcelFactory.read(inputStream).build();
// 获取所有的sheet列表
List<ReadSheet> sheetList = excelReader.excelExecutor().sheetList();
// 遍历sheet列表
for (ReadSheet readSheet : sheetList) {
// 设置当前sheet
excelReader.excelExecutor().setCurrentSheet(readSheet.getSheetNo());
// 读取数据
List<Object> dataList = new ArrayList<>();
excelReader.read(readSheet.getClazz(), new AnalysisEventListener<Object>() {
@Override
public void invoke(Object data, AnalysisContext context) {
dataList.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 数据读取完成后的处理逻辑
// 可以将 dataList 中的数据进行处理或保存等操作
}
});
// 处理当前sheet的数据
// 可以将 dataList 中的数据进行处理或保存等操作
}
// 关闭流
excelReader.finish();
```
上述代码中,`inputStream` 是你要读取的 Excel 文件的输入流。`ReadSheet` 是 EasyExcel 中的一个对象,代表一个 sheet。
在遍历 sheet 列表的循环中,可以通过 `readSheet.getClazz()` 方法来获取当前 sheet 对应的实体类类型,将数据读取到指定的实体类对象中。
你可以根据需要,在读取数据后对 dataList 中的数据进行处理或保存等操作。
最后,记得调用 `excelReader.finish()` 方法关闭流。
希望这个回答对你有帮助!如果你还有其他问题,请随时提问。
阅读全文