12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- package com.malk.pro.zyjn.utils;
- import com.alibaba.excel.EasyExcel;
- import com.alibaba.excel.ExcelWriter;
- import com.alibaba.excel.write.metadata.WriteSheet;
- import com.malk.utils.UtilFile;
- import lombok.Builder;
- import lombok.Data;
- import lombok.SneakyThrows;
- import javax.annotation.Nullable;
- import java.io.File;
- import java.io.InputStream;
- import java.util.List;
- @Builder
- @Data
- public class UtilExcel {
- /**
- * 列表与主表进行填充 [格式: 模板主表 {字段}, 列表 {.字段}]
- */
- @SneakyThrows
- public static void exportAllSheetByTemplate(Object dataMain, List dataList, @Nullable String fileName, String tableFilePath, String templateName) {
- InputStream inputStream = UtilFile.readPackageResource("templates/" + templateName);
- File file = new File(tableFilePath + fileName + ".xlsx");
- if (file.exists()) {
- file.delete();
- }
- ExcelWriter workBook = EasyExcel.write(tableFilePath + fileName + ".xlsx").withTemplate(inputStream).build();
- WriteSheet sheet = EasyExcel.writerSheet(0).build();
- // 先单组数据填充,再多组数据填充
- workBook.fill(dataMain, sheet);
- workBook.fill(dataList, sheet);
- workBook.finish();
- }
- }
|