]> source.dussan.org Git - poi.git/commitdiff
Avoid log-spam when using SXSSFWorkbook with auto-sizing
authorDominik Stadler <centic@apache.org>
Sat, 22 Jan 2022 06:59:03 +0000 (06:59 +0000)
committerDominik Stadler <centic@apache.org>
Sat, 22 Jan 2022 06:59:03 +0000 (06:59 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1897324 13f79535-47bb-0310-9956-ffa450edef68

poi-ooxml/src/main/java/org/apache/poi/xssf/streaming/SXSSFCell.java
poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFFormulaEvaluation.java

index 6d9fd1d4a8a6723d122ca0bb2b6124eea2dafdbc..84b8006457da7f2cff6f7b132c44138284ea13ac 100644 (file)
@@ -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);
         }
     }
 
index b007d9b905a2c9ea9c126bf978cef40abf4d3f8e..ac5f209146ddb0c022942b411e8bb5f3b7c5486d 100644 (file)
@@ -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)) {