UtilExcel.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package com.malk.pro.zyjn.utils;
  2. import com.alibaba.excel.EasyExcel;
  3. import com.alibaba.excel.ExcelWriter;
  4. import com.alibaba.excel.write.metadata.WriteSheet;
  5. import com.malk.utils.UtilFile;
  6. import lombok.Builder;
  7. import lombok.Data;
  8. import lombok.SneakyThrows;
  9. import javax.annotation.Nullable;
  10. import java.io.File;
  11. import java.io.InputStream;
  12. import java.util.List;
  13. @Builder
  14. @Data
  15. public class UtilExcel {
  16. /**
  17. * 列表与主表进行填充 [格式: 模板主表 {字段}, 列表 {.字段}]
  18. */
  19. @SneakyThrows
  20. public static void exportAllSheetByTemplate(Object dataMain, List dataList, @Nullable String fileName, String tableFilePath, String templateName) {
  21. InputStream inputStream = UtilFile.readPackageResource("templates/" + templateName);
  22. File file = new File(tableFilePath + fileName + ".xlsx");
  23. if (file.exists()) {
  24. file.delete();
  25. }
  26. ExcelWriter workBook = EasyExcel.write(tableFilePath + fileName + ".xlsx").withTemplate(inputStream).build();
  27. WriteSheet sheet = EasyExcel.writerSheet(0).build();
  28. // 先单组数据填充,再多组数据填充
  29. workBook.fill(dataMain, sheet);
  30. workBook.fill(dataList, sheet);
  31. workBook.finish();
  32. }
  33. }