Browse Source

添加多表单填充的示例

pull/3239/head
armin 2 years ago
parent
commit
771af8c41a
  1. 30
      easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java

30
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<FillData> data() {
List<FillData> list = ListUtils.newArrayList();
for (int i = 0; i < 10; i++) {

Loading…
Cancel
Save