From a22f137d77c1e356ad3022690699e0f3d8fb9daa Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期三, 06 五月 2026 08:29:04 +0800
Subject: [PATCH] XSSFWorkbook替换成SXSSFWorkbook,解决OOM; autoSizeColumn问题解决

---
 zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java
index b7f3266..72c018a 100644
--- a/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java
+++ b/zy-acs-manager/src/main/java/com/zy/acs/manager/common/utils/ExcelUtil.java
@@ -5,7 +5,8 @@
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -36,8 +37,11 @@
     }
 
     public static <T> Workbook create(List<T> list, Class<T> clz) {
-        XSSFWorkbook workbook = new XSSFWorkbook();
+        SXSSFWorkbook workbook = new SXSSFWorkbook();
         Sheet sheet = workbook.createSheet(clz.getSimpleName());
+        // 1. 鍚戜笅杞瀷骞惰皟鐢� trackAllColumnsForAutoSizing()
+        // autoSizeColumn闂瑙e喅
+        ((SXSSFSheet) sheet).trackAllColumnsForAutoSizing();
 
         Row header = sheet.createRow(0);
         Field[] fields = Cools.getAllFields(clz);

--
Gitblit v1.9.1