aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
index d6fc4353e6..61a56a1024 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
@@ -3485,15 +3485,16 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
worksheet.getHyperlinks().setHyperlinkArray(ctHls);
}
else {
- // For some reason, we have to remove the hyperlinks one by one from the CTHyperlinks array
- // rather than unsetting or resetting the hyperlink array.
- //worksheet.getHyperlinks().setHyperlinkArray(new CTHyperlink[0]);
- //worksheet.unsetHyperlinks();
if (worksheet.getHyperlinks() != null) {
final int count = worksheet.getHyperlinks().sizeOfHyperlinkArray();
for (int i=count-1; i>=0; i--) {
worksheet.getHyperlinks().removeHyperlink(i);
}
+ // For some reason, we have to remove the hyperlinks one by one from the CTHyperlinks array
+ // before unsetting the hyperlink array.
+ // Resetting the hyperlink array seems to break some XML nodes.
+ //worksheet.getHyperlinks().setHyperlinkArray(new CTHyperlink[0]);
+ worksheet.unsetHyperlinks();
} else {
// nothing to do
}