From df9bc05a945d9f164ec9e0673dde6b31ecb0e48c Mon Sep 17 00:00:00 2001 From: PJ Fanning Date: Tue, 10 Aug 2021 14:10:59 +0000 Subject: [PATCH] add support for reading hyperlinks that have cell refs that are area references (very limited update or write support as yet) git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1892178 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/xssf/usermodel/XSSFHyperlink.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java index 4804116312..58ccde183e 100644 --- a/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java +++ b/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java @@ -355,8 +355,11 @@ public class XSSFHyperlink implements Hyperlink { */ @Override public void setLastColumn(int col) { + int firstColumn = getFirstColumn(); + if (col < firstColumn) firstColumn = col; + String firstCellRef = CellReference.convertNumToColString(firstColumn) + (getFirstRow() + 1); String lastCellRef = CellReference.convertNumToColString(col) + (getLastRow() + 1); - setCellRange(buildFirstCellReference().formatAsString() + ":" + lastCellRef); + setCellRange(firstCellRef + ":" + lastCellRef); } /** @@ -380,8 +383,11 @@ public class XSSFHyperlink implements Hyperlink { */ @Override public void setLastRow(int row) { + int firstRow = getFirstRow(); + if (row < firstRow) firstRow = row; + String firstCellRef = CellReference.convertNumToColString(getFirstColumn()) + (firstRow + 1); String lastCellRef = CellReference.convertNumToColString(getLastColumn()) + (row + 1); - setCellRange(buildFirstCellReference().formatAsString() + ":" + lastCellRef); + setCellRange(firstCellRef + ":" + lastCellRef); } private void setCellRange(String range) { -- 2.39.5