| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- 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<String, Object> 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 <T> String writeExcel(List<T> 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;
- }
- }
|