bug 60601: unset hyperlinks after removing them individually from the DOM

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1779437 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Javen O'Neal 2017-01-19 09:01:39 +00:00
parent b2e807c005
commit 2abd64f3a9
1 changed files with 5 additions and 4 deletions

View File

@ -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
}