From 7d87f1b5cd9640390323ec92950f56bd346b575d Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 14 Feb 2025 21:25:55 +0000 Subject: [PATCH] fix problem test (SXXSF) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1923819 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/xssf/streaming/SXSSFCell.java | 21 ++++--------------- .../poi/xssf/streaming/TestSXSSFCell.java | 5 ----- .../apache/poi/ss/usermodel/BaseTestCell.java | 12 ++--------- 3 files changed, 6 insertions(+), 32 deletions(-) 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 4861a09b5d7..786e2155cd0 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 @@ -27,16 +27,7 @@ Licensed to the Apache Software Foundation (ASF) under one or more import org.apache.poi.ss.SpreadsheetVersion; import org.apache.poi.ss.formula.FormulaParseException; import org.apache.poi.ss.formula.eval.ErrorEval; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellBase; -import org.apache.poi.ss.usermodel.CellStyle; -import org.apache.poi.ss.usermodel.CellType; -import org.apache.poi.ss.usermodel.Comment; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.FormulaError; -import org.apache.poi.ss.usermodel.Hyperlink; -import org.apache.poi.ss.usermodel.RichTextString; -import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.*; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.ss.util.CellReference; import org.apache.poi.util.*; @@ -722,6 +713,8 @@ public boolean isPartOfArrayFormulaGroup() } //end of interface implementation + private static final DataFormatter DATA_FORMATTER = new DataFormatter(); + /** * Returns a string representation of the cell *

@@ -742,14 +735,8 @@ public String toString() { case FORMULA: return getCellFormula(); case NUMERIC: - if (DateUtil.isCellDateFormatted(this)) { - DateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy", LocaleUtil.getUserLocale()); - sdf.setTimeZone(LocaleUtil.getUserTimeZone()); - return sdf.format(getDateCellValue()); - } - return getNumericCellValue() + ""; case STRING: - return getRichStringCellValue().toString(); + return DATA_FORMATTER.formatCellValue(this); default: return "Unknown Cell Type: " + getCellType(); } diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFCell.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFCell.java index b13e2de04ab..894bc5c9941 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFCell.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/streaming/TestSXSSFCell.java @@ -169,9 +169,4 @@ protected void setCellFormula_onASingleCellArrayFormulaCell_preservesTheValue() @Disabled protected void setCellType_FORMULA_onAnArrayFormulaCell_doesNothing() { } - - @Override - protected boolean enableDateTest() { - return false; - } } diff --git a/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestCell.java b/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestCell.java index 18c589b3592..0130e9b4f6a 100644 --- a/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestCell.java +++ b/poi/src/test/java/org/apache/poi/ss/usermodel/BaseTestCell.java @@ -340,10 +340,6 @@ void testFormulaStyle() throws Exception { } } - protected boolean enableDateTest() { - return true; - } - /**tests the toString() method of HSSFCell*/ @Test void testToString() throws Exception { @@ -377,9 +373,7 @@ void testToString() throws Exception { assertEquals("", r.getCell(6).toString(), "Blank"); // toString on a date-formatted cell displays dates as dd-MMM-yyyy, which has locale problems with the month String dateCell1 = r.getCell(7).toString(); - if (enableDateTest()) { - assertEquals("2/2/10 0:00", dateCell1); - } + assertEquals("2/2/10 0:00", dateCell1); //Write out the file, read it in, and then check cell values try (Workbook wb2 = _testDataProvider.writeOutAndReadBack(wb1)) { @@ -392,9 +386,7 @@ void testToString() throws Exception { assertEquals("A1+B1", r.getCell(5).toString(), "Formula"); assertEquals("", r.getCell(6).toString(), "Blank"); String dateCell2 = r.getCell(7).toString(); - if (enableDateTest()) { - assertEquals(dateCell1, dateCell2, "Date"); - } + assertEquals(dateCell1, dateCell2, "Date"); } } }