diff options
author | Dominik Stadler <centic@apache.org> | 2019-12-31 06:34:51 +0000 |
---|---|---|
committer | Dominik Stadler <centic@apache.org> | 2019-12-31 06:34:51 +0000 |
commit | 3cc54a8dffae84470ef50f56bb0747c28c139e52 (patch) | |
tree | 6bfadbf288ada7bfc53cd41467161925dee51567 /src/ooxml/testcases/org/apache/poi | |
parent | bc0dcdf36929e2b5c8761faa9c5c5cf29be3f367 (diff) | |
download | poi-3cc54a8dffae84470ef50f56bb0747c28c139e52.tar.gz poi-3cc54a8dffae84470ef50f56bb0747c28c139e52.zip |
Bug 63960: Write pre-evaluated string-values in formula cells with the correct type
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1872130 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml/testcases/org/apache/poi')
-rw-r--r-- | src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java index 3aee0c54c9..174b1c4905 100644 --- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestSXSSFBugs.java @@ -17,6 +17,7 @@ package org.apache.poi.xssf.usermodel; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; @@ -43,6 +44,7 @@ import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.junit.Ignore; import org.junit.Test; +import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType; public final class TestSXSSFBugs extends BaseTestBugzillaIssues { public TestSXSSFBugs() { @@ -67,7 +69,7 @@ public final class TestSXSSFBugs extends BaseTestBugzillaIssues { CellRangeAddress cra = CellRangeAddress.valueOf("C2:D3"); // No print settings before repeating - Sheet s1 = wb1.createSheet(); + Sheet s1 = wb1.createSheet(); s1.setRepeatingColumns(cra); s1.setRepeatingRows(cra); @@ -93,7 +95,7 @@ public final class TestSXSSFBugs extends BaseTestBugzillaIssues { wb1.close(); wb2.close(); } - + // bug 60197: setSheetOrder should update sheet-scoped named ranges to maintain references to the sheets before the re-order @Test @Override @@ -209,4 +211,31 @@ public final class TestSXSSFBugs extends BaseTestBugzillaIssues { out.flush(); } } + + @Test + public void test63960() throws Exception { + try (Workbook workbook = new SXSSFWorkbook(100)) { + Sheet sheet = workbook.createSheet("RawData"); + + Row row = sheet.createRow(0); + Cell cell; + + cell = row.createCell(0); + cell.setCellValue(123); + cell = row.createCell(1); + cell.setCellValue(""); + cell.setCellFormula("=TEXT(A1,\"#\")"); + + /*try (FileOutputStream out = new FileOutputStream(File.createTempFile("test63960", ".xlsx"))) { + workbook.write(out); + }*/ + + try (Workbook wbBack = SXSSFITestDataProvider.instance.writeOutAndReadBack(workbook)) { + assertNotNull(wbBack); + Cell rawData = wbBack.getSheet("RawData").getRow(0).getCell(1); + + assertEquals(STCellType.STR, ((XSSFCell) rawData).getCTCell().getT()); + } + } + } } |