From 2298c8ff265f4e704ac2317c1b10d0eefc822179 Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Tue, 22 Mar 2022 11:44:31 +0000 Subject: [PATCH] [bug-65973] partial fix for removing hyperlinks that span multiple cells git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1899129 13f79535-47bb-0310-9956-ffa450edef68 --- .../main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java index a5aa37b7fe..27bd123c23 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFSheet.java @@ -3084,8 +3084,9 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet, OoxmlSheetEx // also remove any hyperlinks associated with this row if (hyperlinks != null) { for (XSSFHyperlink link : new ArrayList<>(hyperlinks)) { - CellReference ref = new CellReference(link.getCellRef()); - if (rowsToRemoveSet.contains(ref.getRow())) { + CellRangeAddress range = CellRangeAddress.valueOf(link.getCellRef()); + //TODO handle case where hyperlink ref spans many rows (https://bz.apache.org/bugzilla/show_bug.cgi?id=65973) + if (range.getFirstRow() == range.getLastRow() && rowsToRemoveSet.contains(range.getFirstRow())) { hyperlinks.remove(link); } }