From a05fb1a000002402446639e3903eb9e6b917ad76 Mon Sep 17 00:00:00 2001 From: Looly Date: Thu, 8 Aug 2024 11:23:32 +0800 Subject: [PATCH] =?UTF-8?q?ExcelWriter.autoSizeColumn=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=8F=AF=E9=80=89widthRatio=E5=8F=82=E6=95=B0=EF=BC=8C?= =?UTF-8?q?=E5=8F=AF=E9=85=8D=E7=BD=AE=E4=B8=AD=E6=96=87=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E5=AE=BD=E5=BA=A6=E5=80=8D=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../src/main/java/cn/hutool/poi/excel/BigExcelWriter.java | 6 +----- .../src/main/java/cn/hutool/poi/excel/ExcelWriter.java | 3 ++- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 634ef6696..f52170d5a 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * 【core 】 优化IndexedComparator性能(pr#1240@Gitee) * 【http 】 改进ContentType.get忽略空格(pr#3664@Github) * 【http 】 CompressUtil.createExtractor支持tgz自动识别(pr#3674@Github) +* 【poi 】 ExcelWriter.autoSizeColumn增加可选widthRatio参数,可配置中文字符宽度倍数(pr#3689@Github) ### 🐞Bug修复 * 【core 】 修复因RFC3986理解有误导致的UrlPath处理冒号转义问题(issue#IAAE88@Gitee) diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/BigExcelWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/BigExcelWriter.java index f8f86947b..bc6ed492e 100644 --- a/hutool-poi/src/main/java/cn/hutool/poi/excel/BigExcelWriter.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/BigExcelWriter.java @@ -152,11 +152,7 @@ public class BigExcelWriter extends ExcelWriter { @Override public BigExcelWriter autoSizeColumnAll() { - final SXSSFSheet sheet = (SXSSFSheet) this.sheet; - sheet.trackAllColumnsForAutoSizing(); - super.autoSizeColumnAll(); - sheet.untrackAllColumnsForAutoSizing(); - return this; + return autoSizeColumnAll(0); } @Override diff --git a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java index a718a879c..e101516b8 100755 --- a/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/excel/ExcelWriter.java @@ -305,9 +305,10 @@ public class ExcelWriter extends ExcelBase { * @since 5.8.30 */ public ExcelWriter autoSizeColumn(int columnIndex, boolean useMergedCells, float widthRatio) { - sheet.autoSizeColumn(columnIndex, useMergedCells); if (widthRatio > 0) { sheet.setColumnWidth(columnIndex, (int) (sheet.getColumnWidth(columnIndex) * widthRatio)); + } else { + sheet.autoSizeColumn(columnIndex, useMergedCells); } return this; }