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