diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java index 5eb5a4be49..2384d7f93a 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFSheet.java @@ -62,7 +62,11 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions { _sh = xSheet; calculateLeftAndRightMostColumns(xSheet); setRandomAccessWindowSize(randomAccessWindowSize); - _autoSizeColumnTracker = new AutoSizeColumnTracker(this); + try { + _autoSizeColumnTracker = new AutoSizeColumnTracker(this); + } catch (InternalError e) { + LOG.atWarn().log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS", e); + } } private void calculateLeftAndRightMostColumns(XSSFSheet xssfSheet) { @@ -93,7 +97,7 @@ public class SXSSFSheet implements Sheet, OoxmlSheetExtensions { setRandomAccessWindowSize(_workbook.getRandomAccessWindowSize()); try { _autoSizeColumnTracker = new AutoSizeColumnTracker(this); - } catch (Exception e) { + } catch (InternalError e) { LOG.atWarn().log("Failed to create AutoSizeColumnTracker, possibly due to fonts not being installed in your OS", e); } } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java index f7161fd0e9..2cc356d422 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestAutoSizeColumnTracker.java @@ -43,11 +43,10 @@ import org.junit.jupiter.api.Test; /** * Tests the auto-sizing behaviour of {@link SXSSFSheet} when not all * rows fit into the memory window size etc. - * + *

* see Bug #57450 which reported the original misbehaviour */ class TestAutoSizeColumnTracker { - private SXSSFSheet sheet; private SXSSFWorkbook workbook; private AutoSizeColumnTracker tracker;