From e1bb2a73c83893db399addf28544800310432afc Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Wed, 12 Jul 2023 12:25:01 +0000 Subject: [PATCH] [bug-66675] fix issue with writing xlsx (core properties being added twice) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1910949 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/openxml4j/opc/OPCPackage.java | 6 +++++- .../apache/poi/openxml4j/opc/ZipPackage.java | 4 +++- .../poi/xssf/usermodel/TestXSSFBugs.java | 17 +++++++++++++++++ test-data/spreadsheet/bug66675.xlsx | Bin 0 -> 44438 bytes 4 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 test-data/spreadsheet/bug66675.xlsx diff --git a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java index 1146711705..35f3c10c01 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java +++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/OPCPackage.java @@ -940,7 +940,7 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { throw new IllegalArgumentException("part"); } - if (partList.containsKey(part._partName)) { + if (hasPackagePart(part)) { if (!partList.get(part._partName).isDeleted()) { throw new InvalidOperationException( "A part with the name '" @@ -958,6 +958,10 @@ public abstract class OPCPackage implements RelationshipSource, Closeable { return part; } + protected boolean hasPackagePart(PackagePart part) { + return partList.containsKey(part._partName); + } + /** * Remove the specified part in this package. If this part is relationship * part, then delete all relationships in the source part. diff --git a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java index 3567e66074..dc176b441b 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java +++ b/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java @@ -542,7 +542,9 @@ public final class ZipPackage extends OPCPackage { // Ensure that core properties are added if missing getPackageProperties(); // Add core properties to part list ... - addPackagePart(this.packageProperties); + if (!hasPackagePart(this.packageProperties)) { + addPackagePart(this.packageProperties); + } // ... and to add its relationship ... this.relationships.addRelationship(this.packageProperties .getPartName().getURI(), TargetMode.INTERNAL, diff --git a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java index d8d36726d0..fe3ac973cd 100644 --- a/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java +++ b/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFBugs.java @@ -3864,6 +3864,23 @@ public final class TestXSSFBugs extends BaseTestBugzillaIssues { } } + @Test + void testBug66675() throws Exception { + try (XSSFWorkbook wb = openSampleWorkbook("bug66675.xlsx")) { + POIXMLProperties.CoreProperties coreProperties = wb.getProperties().getCoreProperties(); + assertNotNull(coreProperties); + wb.removeSheetAt(0); + try (UnsynchronizedByteArrayOutputStream bos = UnsynchronizedByteArrayOutputStream.builder().get()) { + wb.write(bos); + try (XSSFWorkbook wb2 = new XSSFWorkbook(bos.toInputStream())) { + XSSFSheet sheet = wb2.getSheetAt(0); + assertNotNull(sheet); + assertNotNull(wb2.getProperties().getCoreProperties()); + } + } + } + } + private static void readByCommonsCompress(File temp_excel_poi) throws IOException { /* read by commons-compress*/ try (ZipFile zipFile = new ZipFile(temp_excel_poi)) { diff --git a/test-data/spreadsheet/bug66675.xlsx b/test-data/spreadsheet/bug66675.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..61f0dca4e66c589f25a4a0a6da2bbc02a1c95f42 GIT binary patch literal 44438 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 T9boh_0)Ku1(ex?_{OSJyh2MSV literal 0 HcmV?d00001 -- 2.39.5