Don't try to clone a chart, this makes integration-tests work for a few more documents, also the one added via bug 56557

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1799037 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2017-06-18 05:59:25 +00:00
parent 2b874e59b5
commit eb417057c4
4 changed files with 9 additions and 8 deletions

View File

@ -299,8 +299,7 @@ public class TestAllFiles {
"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",
@ -321,12 +320,8 @@ public class TestAllFiles {
"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(

View File

@ -31,6 +31,7 @@ import org.apache.poi.ss.usermodel.Sheet;
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 {
@ -125,6 +126,11 @@ public abstract class SpreadsheetHandler extends AbstractFileHandler {
}*/
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) {

View File

@ -580,7 +580,7 @@ public final class TestSXSSFWorkbook extends BaseTestXWorkbook {
@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));

Binary file not shown.