diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java index 53b8b273..42519b46 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -16,6 +16,7 @@ import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; import com.alibaba.excel.write.metadata.fill.FillWrapper; +import org.apache.poi.ss.usermodel.SheetVisibility; import org.junit.jupiter.api.Test; /** @@ -217,6 +218,35 @@ public class FillTest { } } + /** + * 多表单填充 + * + * @since 2.1.1 + */ + @Test + public void multiSheetFill() { + // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 + // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list + String templateFileName = + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "simple.xlsx"; + + String fileName = TestFileUtil.getPath() + "multiSheetFill" + System.currentTimeMillis() + ".xlsx"; + + // 方案1 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + int numberOfSheets = excelWriter.writeContext().writeWorkbookHolder().getWorkbook() + .getNumberOfSheets(); + for (int i = 0; i < numberOfSheets; i++) { + if (excelWriter.writeContext().writeWorkbookHolder().getWorkbook() + .getSheetVisibility(i) == SheetVisibility.VISIBLE) { + + WriteSheet writeSheet = EasyExcel.writerSheet(i).build(); + excelWriter.fill(data(), writeSheet); + } + } + } + } + private List data() { List list = ListUtils.newArrayList(); for (int i = 0; i < 10; i++) {