Преглед на файлове

Fix bug #56278 - Support loading .xlsx files with no Styles Table

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1578518 13f79535-47bb-0310-9956-ffa450edef68
tags/REL_3_11_BETA1
Nick Burch преди 10 години
родител
ревизия
b63080e7c4
променени са 3 файла, в които са добавени 21 реда и са изтрити 1 реда
  1. 6
    1
      src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
  2. 15
    0
      src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
  3. Двоични данни
      test-data/spreadsheet/56278.xlsx

+ 6
- 1
src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Целия файл

@@ -295,10 +295,15 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable<X
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());
}


+ 15
- 0
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java Целия файл

@@ -1440,4 +1440,19 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues {
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"));
}
}

Двоични данни
test-data/spreadsheet/56278.xlsx Целия файл


Loading…
Отказ
Запис