From 0a42bd3644ef6509ec50f7e29ccb7e2fe4b5d1c1 Mon Sep 17 00:00:00 2001 From: miko <1059665047@qq.com> Date: Sun, 5 Oct 2025 01:35:00 +0800 Subject: [PATCH] =?UTF-8?q?ExcelUtil=E5=A2=9E=E5=8A=A0=E5=BF=BD=E7=95=A5?= =?UTF-8?q?=E6=9F=90=E5=AD=97=E6=AE=B5=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/common/excel/utils/ExcelUtil.java | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java index 74dbccbac..c0820deaf 100644 --- a/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java +++ b/ruoyi-common/ruoyi-common-excel/src/main/java/org/dromara/common/excel/utils/ExcelUtil.java @@ -24,9 +24,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; -import java.util.Collection; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Consumer; /** @@ -36,6 +34,17 @@ import java.util.function.Consumer; */ @NoArgsConstructor(access = AccessLevel.PRIVATE) public class ExcelUtil { + private static final ThreadLocal> excludeFields = ThreadLocal.withInitial(HashSet::new); + + public static void excludeFields(String... fields) { + excludeFields.remove(); + Collections.addAll(excludeFields.get(), fields); + } + + + public static Set getExcludeFields() { + return excludeFields.get(); + } /** * 同步导入(适用于小数据量) @@ -195,6 +204,11 @@ public class ExcelUtil { .registerConverter(new ExcelBigNumberConvert()) .registerWriteHandler(new DataWriteHandler(clazz)) .sheet(sheetName); + if(excludeFields.get()!=null && !excludeFields.get().isEmpty()){ + builder.excludeColumnFieldNames(excludeFields.get()); + excludeFields.remove(); + + } if (merge) { // 合并处理器 builder.registerWriteHandler(new CellMergeStrategy(list, true));