From f393a5ae9a63280c51a2ebb4bf3e18995121a6a3 Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Fri, 24 Apr 2026 12:23:28 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20ExcelUtil=20?= =?UTF-8?q?=E5=92=8C=20DeptExcelOptions=20=E7=B1=BB=E7=9A=84=E6=B3=A8?= =?UTF-8?q?=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/common/excel/utils/ExcelUtil.java | 36 +++++++++---------- .../system/listener/DeptExcelOptions.java | 2 ++ 2 files changed, 20 insertions(+), 18 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 345cd24ab..ffa49e024 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 @@ -3,17 +3,17 @@ package org.dromara.common.excel.utils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.resource.ClassPathResource; import cn.hutool.core.util.IdUtil; -import org.apache.fesod.sheet.FesodSheet; +import jakarta.servlet.ServletOutputStream; +import jakarta.servlet.http.HttpServletResponse; +import lombok.AccessLevel; +import lombok.NoArgsConstructor; import org.apache.fesod.sheet.ExcelWriter; +import org.apache.fesod.sheet.FesodSheet; import org.apache.fesod.sheet.write.builder.ExcelWriterSheetBuilder; import org.apache.fesod.sheet.write.metadata.WriteSheet; import org.apache.fesod.sheet.write.metadata.fill.FillConfig; import org.apache.fesod.sheet.write.metadata.fill.FillWrapper; import org.apache.fesod.sheet.write.style.column.LongestMatchColumnWidthStyleStrategy; -import jakarta.servlet.ServletOutputStream; -import jakarta.servlet.http.HttpServletResponse; -import lombok.AccessLevel; -import lombok.NoArgsConstructor; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.core.utils.file.FileUtils; import org.dromara.common.excel.convert.ExcelBigNumberConvert; @@ -38,23 +38,23 @@ import java.util.function.Consumer; public class ExcelUtil { /** - * 同步导入(适用于小数据量) + * 读取Excel并返回对象集合 * - * @param is 输入流 - * @return 转换后集合 + * @param is 文件流 + * @param clazz 接收实体类 + * @return 数据列表 */ public static List importExcel(InputStream is, Class clazz) { return FesodSheet.read(is).head(clazz).autoCloseStream(false).sheet().doReadSync(); } - /** - * 使用校验监听器 异步导入 同步返回 + * 读取Excel并返回解析结果(带默认校验功能) * - * @param is 输入流 - * @param clazz 对象类型 - * @param isValidate 是否 Validator 检验 默认为是 - * @return 转换后集合 + * @param is 文件流 + * @param clazz 接收实体类 + * @param isValidate 是否开启校验 + * @return 解析结果(含成功数据、错误信息) */ public static ExcelResult importExcel(InputStream is, Class clazz, boolean isValidate) { DefaultExcelListener listener = new DefaultExcelListener<>(isValidate); @@ -63,12 +63,12 @@ public class ExcelUtil { } /** - * 使用自定义监听器 异步导入 自定义返回 + * 读取Excel并返回解析结果(使用自定义监听器) * - * @param is 输入流 - * @param clazz 对象类型 + * @param is 文件流 + * @param clazz 接收实体类 * @param listener 自定义监听器 - * @return 转换后集合 + * @return 解析结果(含成功数据、错误信息) */ public static ExcelResult importExcel(InputStream is, Class clazz, ExcelListener listener) { FesodSheet.read(is, clazz, listener).sheet().doRead(); diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/DeptExcelOptions.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/DeptExcelOptions.java index 644185d77..69038ad09 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/DeptExcelOptions.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/listener/DeptExcelOptions.java @@ -7,6 +7,7 @@ import org.dromara.common.core.utils.TreeBuildUtils; import org.dromara.common.excel.core.ExcelOptionsProvider; import org.dromara.system.domain.bo.SysDeptBo; import org.dromara.system.service.ISysDeptService; +import org.springframework.stereotype.Component; import java.util.List; import java.util.Set; @@ -16,6 +17,7 @@ import java.util.Set; * * @author AprilWind */ +@Component @RequiredArgsConstructor public class DeptExcelOptions implements ExcelOptionsProvider {