From: Dominik Stadler Date: Sat, 22 Jan 2022 06:59:03 +0000 (+0000) Subject: Avoid log-spam when using SXSSFWorkbook with auto-sizing X-Git-Tag: REL_5_2_1~173 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=416562daa55414bffc1fd811a60be4399239005f;p=poi.git Avoid log-spam when using SXSSFWorkbook with auto-sizing git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1897324 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java index 6d9fd1d4a8..84b8006457 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java @@ -399,7 +399,9 @@ public class SXSSFCell extends CellBase { return ((RichTextValue)_value).getValue(); else { String plainText = getStringCellValue(); - return getSheet().getWorkbook().getCreationHelper().createRichTextString(plainText); + // don't use the creation-helper here as it would spam the log with one line per row + //return getSheet().getWorkbook().getCreationHelper().createRichTextString(plainText); + return new XSSFRichTextString(plainText); } } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java index b007d9b905..ac5f209146 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java @@ -94,6 +94,22 @@ public final class TestSXSSFFormulaEvaluation extends BaseTestFormulaEvaluator } } + @Test + void testLogSpam() throws IOException { + try (SXSSFWorkbook wb = new SXSSFWorkbook(5)) { + SXSSFSheet s = wb.createSheet(); + s.trackAllColumnsForAutoSizing(); + + for (int i = 0; i < 20; i++) { + s.createRow(i).createCell(0).setCellValue("1+2"); + } + + // previously this caused a large number of useless + // log-lines "SXSSF doesn't support Rich Text Strings..." + s.flushRows(); + } + } + @Test void testEvaluateRefOutsideWindowFails() throws IOException { try (SXSSFWorkbook wb = new SXSSFWorkbook(5)) {