"spreadsheet/poc-xmlbomb.xlsx", // contains xml-entity-expansion
"spreadsheet/poc-xmlbomb-empty.xlsx", // contains xml-entity-expansion
"spreadsheet/poc-shared-strings.xlsx", // contains shared-string-entity-expansion
- "spreadsheet/60255_extra_drawingparts.xlsx", // Non-drawing drawing
-
+
// old Excel files, which we only support simple text extraction of
"spreadsheet/testEXCEL_2.xls",
"spreadsheet/testEXCEL_3.xls",
"ddf/47143.dat",
// sheet cloning errors
- "spreadsheet/47813.xlsx",
"spreadsheet/56450.xls",
- "spreadsheet/OddStyleRecord.xls",
- "spreadsheet/WithChartSheet.xlsx",
- "spreadsheet/chart_sheet.xlsx",
- "spreadsheet/SimpleScatterChart.xlsx"
+ "spreadsheet/OddStyleRecord.xls"
);
private static final Set<String> IGNORED = unmodifiableHashSet(
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.apache.poi.util.RecordFormatException;
+import org.apache.poi.xssf.usermodel.XSSFChartSheet;
public abstract class SpreadsheetHandler extends AbstractFileHandler {
public void handleWorkbook(Workbook wb) throws IOException {
}*/
for (int i=wb.getNumberOfSheets()-1; i>=0; i--) {
+ if(wb.getSheetAt(i) instanceof XSSFChartSheet) {
+ // clone for chart-sheets is not supported
+ continue;
+ }
+
try {
wb.cloneSheet(i);
} catch (RecordFormatException e) {
@Test
public void test56557() throws IOException, InvalidFormatException {
- Workbook wb = WorkbookFactory.create(XSSFTestDataSamples.getSampleFile("56557.xlsx"));
+ Workbook wb = WorkbookFactory.create(XSSFTestDataSamples.getSampleFile("56557.xlsx"), null, false);
// Using streaming XSSFWorkbook makes the output file invalid
wb = new SXSSFWorkbook(((XSSFWorkbook) wb));