Open
Description
触发场景描述
多个WriteSheet都注册了WorkbookWriteHandler,但仅有全局和最后一个WriteSheet的生效
触发Bug的代码
File file = new File("test-2.xlsx");
try (ExcelWriter excelWriter = EasyExcel.write(file).excelType(ExcelTypeEnum.XLSX)
.registerWriteHandler(new WorkbookWriteHandler() {
@Override
public void afterWorkbookDispose(WorkbookWriteHandlerContext context) {
WorkbookWriteHandler.super.afterWorkbookDispose(context);
System.out.println("-----global");
System.out.println("-----global");
}
})
.build();
) {
WriteSheet writeSheet = EasyExcel.writerSheet(0, "模板0").head(DemoData.class)
.registerWriteHandler(new WorkbookWriteHandler() {
@Override
public void afterWorkbookDispose(WorkbookWriteHandlerContext context) {
WorkbookWriteHandler.super.afterWorkbookDispose(context);
System.out.println("---------模板0");
System.out.println("---------模板0");
System.out.println("---------模板0");
}
})
.build();
excelWriter.write(Test02::data, writeSheet);
WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "模板1")
.head(DemoData.class)
.registerWriteHandler(new WorkbookWriteHandler() {
@Override
public void afterWorkbookDispose(WorkbookWriteHandlerContext context) {
WorkbookWriteHandler.super.afterWorkbookDispose(context);
System.out.println("---------模板1模板1");
System.out.println("---------模板1模板1");
System.out.println("---------模板1模板1");
}
})
.build();
excelWriter.write(Test02::data, writeSheet1);
WriteSheet writeSheet2 = EasyExcel.writerSheet(2, "模板2")
.head(DemoData.class)
.registerWriteHandler(new WorkbookWriteHandler() {
@Override
public void afterWorkbookDispose(WorkbookWriteHandlerContext context) {
WorkbookWriteHandler.super.afterWorkbookDispose(context);
System.out.println("---------模板2");
System.out.println("---------模板2");
System.out.println("---------模板2");
}
})
.build();
excelWriter.write(Test02::data, writeSheet2);
}
提示的异常或者没有达到的效果
输出
---------模板2
---------模板2
---------模板2
-----global
-----global
仅有全局和最后一个WriteSheet的WorkbookWriteHandler生效
Activity