aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml/testcases/org/apache/poi
diff options
context:
space:
mode:
authorDominik Stadler <centic@apache.org>2019-12-31 06:34:51 +0000
committerDominik Stadler <centic@apache.org>2019-12-31 06:34:51 +0000
commit3cc54a8dffae84470ef50f56bb0747c28c139e52 (patch)
tree6bfadbf288ada7bfc53cd41467161925dee51567 /src/ooxml/testcases/org/apache/poi
parentbc0dcdf36929e2b5c8761faa9c5c5cf29be3f367 (diff)
downloadpoi-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.java33
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());
+ }
+ }
+ }
}