shIdMap.put(p.getPackageRelationship().getId(), (XSSFSheet)p);
}
}
+
+ if (stylesSource == null) {
+ // Create Styles if it is missing
+ stylesSource = (StylesTable)createRelationship(XSSFRelation.STYLES, XSSFFactory.getInstance());
+ }
stylesSource.setTheme(theme);
if(sharedStringSource == null) {
- //Create SST if it is missing
+ // Create SST if it is missing
sharedStringSource = (SharedStringsTable)createRelationship(XSSFRelation.SHARED_STRINGS, XSSFFactory.getInstance());
}
assertEquals("#@_#", c.getStringCellValue());
assertEquals("http://invalid.uri", c.getHyperlink().getAddress());
}
+
+ /**
+ * Was giving NullPointerException
+ * at org.apache.poi.xssf.usermodel.XSSFWorkbook.onDocumentRead
+ * due to a lack of Styles Table
+ */
+ @Test
+ public void bug56278() throws Exception {
+ Workbook wb = XSSFTestDataSamples.openSampleWorkbook("56278.xlsx");
+ assertEquals(0, wb.getSheetIndex("Market Rates"));
+
+ // Save and re-check
+ Workbook nwb = XSSFTestDataSamples.writeOutAndReadBack(wb);
+ assertEquals(0, nwb.getSheetIndex("Market Rates"));
+ }
}