From ec7fa1df7b083e7b03ccb8c2dae9a03598f3c00f Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 24 八月 2023 11:18:52 +0800 Subject: [PATCH] 修改MD架构的实体类 --- src/main/java/com/lf/server/helper/ExcelHelper.java | 40 ++++++++++++++++++++++++++++++++-------- 1 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/lf/server/helper/ExcelHelper.java b/src/main/java/com/lf/server/helper/ExcelHelper.java index 6eba6ad..060653c 100644 --- a/src/main/java/com/lf/server/helper/ExcelHelper.java +++ b/src/main/java/com/lf/server/helper/ExcelHelper.java @@ -2,14 +2,17 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; +import com.alibaba.excel.ExcelWriter; import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.enums.WriteDirectionEnum; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.read.metadata.ReadSheet; +import com.alibaba.excel.write.metadata.WriteSheet; +import com.alibaba.excel.write.metadata.fill.FillConfig; +import com.alibaba.excel.write.metadata.fill.FillWrapper; import com.lf.server.annotation.ExcelHead; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; /** * Excel甯姪绫� @@ -50,7 +53,7 @@ reader.read(sheet); } - + reader.finish(); return list; } @@ -64,10 +67,31 @@ */ public static <T> ExcelHead getExcelHead(Class<?> clazz) { ExcelHead head = clazz.getAnnotation(ExcelHead.class); - if (head != null) { - return head; - } - return null; + return head; + } + + /** + * 鍐欏叆Excel妯℃澘 + * + * @param source 婧愭枃浠讹紙妯℃澘锛� + * @param target 鐩綍鏂囦欢 + * @param map 鏁版嵁婧� + */ + public static <T> void writeToTemplate(String source, String target, Map<String, List<T>> map) { + // 鏍规嵁妯℃澘鍐欏叆鏁版嵁锛屽鏋滅洰鏍囨枃浠朵笉瀛樺湪锛屽垯鑷姩鍒涘缓鏂囦欢 + ExcelWriter excelWriter = EasyExcel.write(target).withTemplate(source).build(); + + // 鍦ㄥ伐浣滅翱0涓啓鍏ユ暟鎹紝濡傛灉妯℃澘涓笉瀛樺湪缁冧範宸ヤ綔绨匡紝鍒欎細鍦ㄧ洰鏍囨枃浠朵腑鑷姩鍒涘缓 + WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); + + // 鍨傜洿鍐欏叆鏁版嵁锛屽鏋滆姘村钩鍐欏叆锛屽皢VERTICAL鏇挎崲涓篐ORIZONTAL + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build(); + + // 鍐欏叆鏁版嵁 + map.forEach((k, v) -> excelWriter.fill(new FillWrapper(k, v), fillConfig, writeSheet)); + + // 缁撴潫鍐欏叆 + excelWriter.finish(); } } -- Gitblit v1.9.3