From f634d70df36d513971fb3e9348e5be5ec57c0c24 Mon Sep 17 00:00:00 2001 From: jianxiong <2461984449@qq.com> Date: Tue, 29 Jul 2025 11:37:45 +0000 Subject: [PATCH] =?UTF-8?q?update=20ruoyi-common/src/main/java/com/ruoyi/c?= =?UTF-8?q?ommon/utils/poi/ExcelUtil.java.=20=E6=89=A9=E5=B1=95=EF=BC=9A?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=96=87=E4=BB=B6=E6=B5=81=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E6=98=A0=E5=B0=84=E5=88=B0=E6=A8=A1=E7=89=88=E7=B1=BB=EF=BC=8C?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=AE=9E=E4=BD=93=E7=B1=BB=E9=9B=86=E5=90=88?= =?UTF-8?q?=E3=80=82=E7=AC=AC322=20=E5=8F=AF=E8=83=BD=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E8=B0=83=E6=95=B4=20//ExcelUtil=20excelUtil=20=3D=20new=20E?= =?UTF-8?q?xcelUtil<>(t);=20return=20ExcelUtil.importExcel(inputStream);?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: jianxiong <2461984449@qq.com> --- .../com/ruoyi/common/utils/poi/ExcelUtil.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java index c4191ef39..8de4f4629 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java @@ -300,6 +300,37 @@ public class ExcelUtil } } + + /** + * 根据注解模板类,将上传的文件解析为实体类集合 + * + * @param file 上传的 Excel 文件 + * @param t 实体类类型 + * @return 解析后的数据集,若异常则返回空列表 + */ + public List analyzeExcelToList(MultipartFile file, Class t) { + if (file == null || file.isEmpty()) { + log.warn("上传的文件为空"); + return List.of(); // 返回空列表而非 null + } + + if (t == null) { + log.error("目标实体类类型不能为空"); + throw new UtilException("目标实体类类型不能为空"); + } + + try (InputStream inputStream = file.getInputStream()) { + ExcelUtil excelUtil = new ExcelUtil<>(t); + return excelUtil.importExcel(inputStream); // 直接使用流式处理 + } catch (Exception e) { + log.error("解析Excel文件到目标实体类异常", e); + throw new UtilException("解析Excel文件到目标实体类失败"); + } + } + + + + /** * 对excel表单默认第一个索引名转换成list *