From 7129ad4fac42e43980524f2942c6326b403481f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 28 Mar 2025 23:11:11 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"update=20=E4=BC=98=E5=8C=96=20?= =?UTF-8?q?=E6=94=AF=E6=8C=81excel=E6=96=B9=E6=B3=95=E6=8A=9B=E5=87=BAjson?= =?UTF-8?q?=E5=BC=82=E5=B8=B8"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 16923cc86a036d3a53b152024275e6d1b498e1ba. --- .../dromara/common/excel/utils/ExcelUtil.java | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 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 5c5e5ccca..0e9569677 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 @@ -23,6 +23,7 @@ import org.dromara.common.excel.handler.DataWriteHandler; 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; @@ -83,6 +84,7 @@ public class ExcelUtil { */ public static void exportExcel(List list, String sheetName, Class clazz, HttpServletResponse response) { try { + resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); exportExcel(list, sheetName, clazz, false, os, null); } catch (IOException e) { @@ -101,6 +103,7 @@ public class ExcelUtil { */ public static void exportExcel(List list, String sheetName, Class clazz, HttpServletResponse response, List options) { try { + resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); exportExcel(list, sheetName, clazz, false, os, options); } catch (IOException e) { @@ -119,6 +122,7 @@ public class ExcelUtil { */ public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, HttpServletResponse response) { try { + resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); exportExcel(list, sheetName, clazz, merge, os, null); } catch (IOException e) { @@ -138,6 +142,7 @@ public class ExcelUtil { */ public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, HttpServletResponse response, List options) { try { + resetResponse(sheetName, response); ServletOutputStream os = response.getOutputStream(); exportExcel(list, sheetName, clazz, merge, os, options); } catch (IOException e) { @@ -181,12 +186,6 @@ public class ExcelUtil { */ public static void exportExcel(List list, String sheetName, Class clazz, boolean merge, OutputStream os, List options) { - if (CollUtil.isEmpty(list)) { - throw new IllegalArgumentException("数据为空"); - } - if (os instanceof HttpServletResponse response) { - resetResponse(sheetName, response); - } ExcelWriterSheetBuilder builder = EasyExcel.write(os, clazz) .autoCloseStream(false) // 自动适配 @@ -216,8 +215,9 @@ public class ExcelUtil { */ public static void exportTemplate(List data, String filename, String templatePath, HttpServletResponse response) { try { + resetResponse(filename, response); ServletOutputStream os = response.getOutputStream(); - exportTemplate(data, filename, templatePath, os); + exportTemplate(data, templatePath, os); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -232,13 +232,10 @@ public class ExcelUtil { * @param data 模板需要的数据 * @param os 输出流 */ - public static void exportTemplate(List data, String filename, String templatePath, OutputStream os) { + public static void exportTemplate(List data, String templatePath, OutputStream os) { if (CollUtil.isEmpty(data)) { throw new IllegalArgumentException("数据为空"); } - if (os instanceof HttpServletResponse response) { - resetResponse(filename, response); - } ClassPathResource templateResource = new ClassPathResource(templatePath); ExcelWriter excelWriter = EasyExcel.write(os) .withTemplate(templateResource.getStream()) @@ -270,7 +267,7 @@ public class ExcelUtil { try { resetResponse(filename, response); ServletOutputStream os = response.getOutputStream(); - exportTemplateMultiList(data, filename, templatePath, os); + exportTemplateMultiList(data, templatePath, os); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -288,8 +285,9 @@ public class ExcelUtil { */ public static void exportTemplateMultiSheet(List> data, String filename, String templatePath, HttpServletResponse response) { try { + resetResponse(filename, response); ServletOutputStream os = response.getOutputStream(); - exportTemplateMultiSheet(data, filename, templatePath, os); + exportTemplateMultiSheet(data, templatePath, os); } catch (IOException e) { throw new RuntimeException("导出Excel异常"); } @@ -304,13 +302,10 @@ public class ExcelUtil { * @param data 模板需要的数据 * @param os 输出流 */ - public static void exportTemplateMultiList(Map data, String filename, String templatePath, OutputStream os) { + public static void exportTemplateMultiList(Map data, String templatePath, OutputStream os) { if (CollUtil.isEmpty(data)) { throw new IllegalArgumentException("数据为空"); } - if (os instanceof HttpServletResponse response) { - resetResponse(filename, response); - } ClassPathResource templateResource = new ClassPathResource(templatePath); ExcelWriter excelWriter = EasyExcel.write(os) .withTemplate(templateResource.getStream()) @@ -341,13 +336,10 @@ public class ExcelUtil { * @param data 模板需要的数据 * @param os 输出流 */ - public static void exportTemplateMultiSheet(List> data, String filename, String templatePath, OutputStream os) { + public static void exportTemplateMultiSheet(List> data, String templatePath, OutputStream os) { if (CollUtil.isEmpty(data)) { throw new IllegalArgumentException("数据为空"); } - if (os instanceof HttpServletResponse response) { - resetResponse(filename, response); - } ClassPathResource templateResource = new ClassPathResource(templatePath); ExcelWriter excelWriter = EasyExcel.write(os) .withTemplate(templateResource.getStream()) @@ -374,7 +366,7 @@ public class ExcelUtil { /** * 重置响应体 */ - private static void resetResponse(String sheetName, HttpServletResponse response) { + private static void resetResponse(String sheetName, HttpServletResponse response) throws UnsupportedEncodingException { String filename = encodingFilename(sheetName); FileUtils.setAttachmentResponseHeader(response, filename); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8");