aboutsummaryrefslogtreecommitdiffstats
path: root/src/ooxml/testcases/org/apache/poi
diff options
context:
space:
mode:
authorYegor Kozlov <yegor@apache.org>2009-05-30 10:37:08 +0000
committerYegor Kozlov <yegor@apache.org>2009-05-30 10:37:08 +0000
commit23ddda6853b8b71d4b542eed52175e11e851f6ad (patch)
tree8f1ff7ac277d6a43abcc2dbaa1c5353b1d7aa9ea /src/ooxml/testcases/org/apache/poi
parent3add64632f40190f589d302228d98cd9547db65a (diff)
downloadpoi-23ddda6853b8b71d4b542eed52175e11e851f6ad.tar.gz
poi-23ddda6853b8b71d4b542eed52175e11e851f6ad.zip
Fixed XSSFCell to avoid generating xsi:nil entries in shared string table
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@780228 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/ooxml/testcases/org/apache/poi')
-rwxr-xr-xsrc/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
index 40a937b110..a5abde4adc 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCell.java
@@ -19,6 +19,7 @@ package org.apache.poi.xssf.usermodel;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.xssf.model.SharedStringsTable;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType;
/**
@@ -79,4 +80,30 @@ public final class TestXSSFCell extends BaseTestCell {
assertTrue(cell_2.getCTCell().isSetIs());
assertEquals("bar", row.getCell(2).getStringCellValue());
}
+
+ /**
+ * Bug 47278 - xsi:nil attribute for <t> tag caused Excel 2007 to fail to open workbook
+ */
+ public void test47278() throws Exception {
+ XSSFWorkbook wb = (XSSFWorkbook)_testDataProvider.createWorkbook();
+ XSSFSheet sheet = wb.createSheet();
+ XSSFRow row = sheet.createRow(0);
+ SharedStringsTable sst = wb.getSharedStringSource();
+ assertEquals(0, sst.getCount());
+
+ //case 1. cell.setCellValue(new XSSFRichTextString((String)null));
+ XSSFCell cell_0 = row.createCell(0);
+ XSSFRichTextString str = new XSSFRichTextString((String)null);
+ assertNull(str.getString());
+ cell_0.setCellValue(str);
+ assertEquals(0, sst.getCount());
+ assertEquals(XSSFCell.CELL_TYPE_BLANK, cell_0.getCellType());
+
+ //case 2. cell.setCellValue((String)null);
+ XSSFCell cell_1 = row.createCell(1);
+ cell_1.setCellValue((String)null);
+ assertEquals(0, sst.getCount());
+ assertEquals(XSSFCell.CELL_TYPE_BLANK, cell_1.getCellType());
+ }
+
} \ No newline at end of file