From 05e8a165430afd225e95a6db2dd793a959a46a10 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Fri, 8 Apr 2022 13:08:10 +0000 Subject: [PATCH] [github-321] add test case git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1899667 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/xssf/usermodel/TestXSSFWorkbook.java | 16 ++++++++++++++++ test-data/spreadsheet/github-321.xlsx | Bin 0 -> 8122 bytes 2 files changed, 16 insertions(+) create mode 100644 test-data/spreadsheet/github-321.xlsx diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java index 235d16116a..3a7fa17d30 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java @@ -43,6 +43,7 @@ import org.apache.poi.ss.usermodel.Comment; import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.FormulaError; +import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.ss.usermodel.RichTextString; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Row.MissingCellPolicy; @@ -1398,6 +1399,21 @@ public final class TestXSSFWorkbook extends BaseTestXWorkbook { } } + @Test + void testGithub321() throws Exception { + try (XSSFWorkbook wb = openSampleWorkbook("github-321.xlsx")) { + XSSFSheet xssfSheet = wb.getSheetAt(0); + DataFormatter dataFormatter = new DataFormatter(); + FormulaEvaluator formulaEvaluator = wb.getCreationHelper().createFormulaEvaluator(); + XSSFCell a3 = xssfSheet.getRow(2).getCell(0); + assertEquals("2.05", dataFormatter.formatCellValue(a3)); + assertEquals("2.05", dataFormatter.formatCellValue(a3, formulaEvaluator)); + XSSFCell a4 = xssfSheet.getRow(3).getCell(0); + assertEquals("2.1", dataFormatter.formatCellValue(a4)); + assertEquals("2.1", dataFormatter.formatCellValue(a4, formulaEvaluator)); + } + } + private static void expectFormattedContent(Cell cell, String value) { assertEquals(value, new DataFormatter().formatCellValue(cell), "Cell " + ref(cell) + " has wrong formatted content."); diff --git a/test-data/spreadsheet/github-321.xlsx b/test-data/spreadsheet/github-321.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0b517e9eaa7e1888ee54f7e22d24ed81503ef8c8 GIT binary patch literal 8122 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 literal 0 HcmV?d00001 -- 2.39.5