package com.railway.common.utils.poi; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.fill.FillConfig; import com.railway.common.utils.file.FileUploadUtils; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.Map; /** * @author Eric */ public class EasyExcelUtil { public String getExcel(Map params, List list, String template, String excelName) { String filePath = FileUploadUtils.getAbsoluteFileEncoding(excelName); try (InputStream is = Files.newInputStream(Paths.get(template)); OutputStream os = Files.newOutputStream(Paths.get(filePath))) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); ExcelWriter excelWriter = EasyExcel.write(os).withTemplate(is) .excelType(ExcelTypeEnum.XLS) .registerConverter(new LocalDateConverter()) .build(); //列表自动添加行 FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); excelWriter.fill(list, fillConfig, writeSheet); fillConfig = FillConfig.builder().forceNewRow(Boolean.FALSE).build(); excelWriter.fill(params, fillConfig, writeSheet); excelWriter.finish(); } catch (IOException e) { return null; } return filePath; } public String writeExcel(List list, String templateFileName, String fileName) { String filePath = FileUploadUtils.getAbsoluteFileEncoding(fileName); try (InputStream is = Files.newInputStream(Paths.get(templateFileName))) { EasyExcel.write(filePath).withTemplate(is) .registerConverter(new LocalDateConverter()) .sheet() .doFill(list); } catch (IOException e) { return null; } return filePath; } }