From 1d75677bafa74cc0227db7d827b14328f557a275 Mon Sep 17 00:00:00 2001 From: wangxy <1481820854@qq.com> Date: Fri, 18 Apr 2025 08:24:17 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=87=AA=E6=9F=A5=E8=87=AA=E8=AF=84?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=AF=BC=E5=85=A5=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/CheckReportManager.java | 12 ++-- .../system/check/checknum/checknum.html | 55 ++++++++++++++++++- 2 files changed, 60 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/CheckReportManager.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/CheckReportManager.java index be901ee..1df944e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/CheckReportManager.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/manager/CheckReportManager.java @@ -147,11 +147,8 @@ public class CheckReportManager { List tdCheckTypeDtoS = Convert.toList(TdCheckTypeDTO.class, list); tdCheckReportDto.setCheckTypeDTOS(tdCheckTypeDtoS); } + ServletOutputStream out = response.getOutputStream(); try { - String fileName = URLEncoder.encode(tdCheckReport.getCheckId() + ".xlsx", "UTF-8"); - response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); - response.setCharacterEncoding("utf-8"); - response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName); // 4. 使用Hutool导出Excel ExcelWriter writer = ExcelUtil.getWriter(true); // 1. 先写入主表数据 @@ -182,9 +179,12 @@ public class CheckReportManager { writer.write(tdCheckReportDto.getCheckTypeDTOS(), true); // 4. 可选:调整列宽自动适应 writer.autoSizeColumnAll(); + String fileName = URLEncoder.encode(tdCheckReport.getCheckId() + ".xlsx", "UTF-8"); + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName); // 5. 输出到浏览器 - writer.flush(response.getOutputStream(), true); - writer.close(); + writer.flush(out, true); } catch (Exception e) { log.error("文件下载失败:{}", e.getMessage(), e); try { diff --git a/ruoyi-admin/src/main/resources/templates/system/check/checknum/checknum.html b/ruoyi-admin/src/main/resources/templates/system/check/checknum/checknum.html index 448fe61..8ecc132 100644 --- a/ruoyi-admin/src/main/resources/templates/system/check/checknum/checknum.html +++ b/ruoyi-admin/src/main/resources/templates/system/check/checknum/checknum.html @@ -108,7 +108,8 @@