[bug-66212] try to remove package part for table when removing table

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1903394 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
PJ Fanning 2022-08-13 15:32:03 +00:00
parent 7301e841c7
commit 839594b73e
2 changed files with 15 additions and 4 deletions

View File

@ -36,10 +36,7 @@ import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.PartAlreadyExistsException;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
import org.apache.poi.openxml4j.opc.TargetMode;
import org.apache.poi.openxml4j.opc.*;
import org.apache.poi.poifs.crypt.HashAlgorithm;
import org.apache.poi.ss.SpreadsheetVersion;
import org.apache.poi.ss.formula.FormulaShifter;
@ -4315,6 +4312,11 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet, OoxmlSheetEx
removeRelation(getRelationById(toDelete.getKey()), true);
tables.remove(toDelete.getKey());
toDelete.getValue().onTableDelete();
OPCPackage opcPackage = getWorkbook().getPackage();
PackagePart packagePart = t.getPackagePart();
if (packagePart != null && opcPackage.containPart(packagePart.getPartName())) {
opcPackage.removePart(packagePart);
}
}
}

View File

@ -2504,3 +2504,12 @@ com/microsoft/schemas/office/drawing/x2008/diagram/CTGroupShapeNonVisual
com/microsoft/schemas/office/drawing/x2008/diagram/impl/CTShapeImpl
com/microsoft/schemas/office/drawing/x2008/diagram/impl/CTShapeNonVisualImpl
com/microsoft/schemas/office/drawing/x2008/diagram/CTShapeNonVisual
org/openxmlformats/schemas/drawingml/x2006/chart/impl/CTBubbleChartImpl
org/openxmlformats/schemas/drawingml/x2006/chart/CTBubbleChart
org/openxmlformats/schemas/drawingml/x2006/chart/CTBubbleSer
org/openxmlformats/schemas/drawingml/x2006/chart/impl/CTBubbleSerImpl
org/openxmlformats/schemas/drawingml/x2006/chart/impl/CTDLblPosImpl
org/openxmlformats/schemas/drawingml/x2006/chart/CTDLblPos
org/openxmlformats/schemas/drawingml/x2006/chart/STDLblPos$Enum
org/openxmlformats/schemas/drawingml/x2006/chart/impl/STDLblPosImpl
org/openxmlformats/schemas/drawingml/x2006/chart/STDLblPos