bug 59872: add Sheet.getHyperlink(CellAddress)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1753009 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c00187f5e0
commit
44199a8ecd
@ -2215,6 +2215,17 @@ public final class HSSFSheet implements org.apache.poi.ss.usermodel.Sheet {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Hyperlink in this sheet located in a cell specified by {code addr}
|
||||||
|
*
|
||||||
|
* @param addr The address of the cell containing the hyperlink
|
||||||
|
* @return hyperlink if there is a hyperlink anchored at {@code addr}; otherwise returns {@code null}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public HSSFHyperlink getHyperlink(CellAddress addr) {
|
||||||
|
return getHyperlink(addr.getRow(), addr.getColumn());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of Hyperlinks in this sheet
|
* Get a list of Hyperlinks in this sheet
|
||||||
*
|
*
|
||||||
|
@ -1158,6 +1158,14 @@ public interface Sheet extends Iterable<Row> {
|
|||||||
*/
|
*/
|
||||||
public Hyperlink getHyperlink(int row, int column);
|
public Hyperlink getHyperlink(int row, int column);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Hyperlink in this sheet located in a cell specified by {code addr}
|
||||||
|
*
|
||||||
|
* @param addr The address of the cell containing the hyperlink
|
||||||
|
* @return hyperlink if there is a hyperlink anchored at {@code addr}; otherwise returns {@code null}
|
||||||
|
*/
|
||||||
|
public Hyperlink getHyperlink(CellAddress addr);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of Hyperlinks in this sheet
|
* Get a list of Hyperlinks in this sheet
|
||||||
*
|
*
|
||||||
|
@ -1665,6 +1665,17 @@ public class SXSSFSheet implements Sheet
|
|||||||
return _sh.getHyperlink(row, column);
|
return _sh.getHyperlink(row, column);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Hyperlink in this sheet located in a cell specified by {code addr}
|
||||||
|
*
|
||||||
|
* @param addr The address of the cell containing the hyperlink
|
||||||
|
* @return hyperlink if there is a hyperlink anchored at {@code addr}; otherwise returns {@code null}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public XSSFHyperlink getHyperlink(CellAddress addr) {
|
||||||
|
return _sh.getHyperlink(addr);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of Hyperlinks in this sheet
|
* Get a list of Hyperlinks in this sheet
|
||||||
*
|
*
|
||||||
|
@ -806,7 +806,18 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public XSSFHyperlink getHyperlink(int row, int column) {
|
public XSSFHyperlink getHyperlink(int row, int column) {
|
||||||
String ref = new CellReference(row, column).formatAsString();
|
return getHyperlink(new CellAddress(row, column));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a Hyperlink in this sheet located in a cell specified by {code addr}
|
||||||
|
*
|
||||||
|
* @param addr The address of the cell containing the hyperlink
|
||||||
|
* @return hyperlink if there is a hyperlink anchored at {@code addr}; otherwise returns {@code null}
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public XSSFHyperlink getHyperlink(CellAddress addr) {
|
||||||
|
String ref = addr.formatAsString();
|
||||||
for(XSSFHyperlink hyperlink : hyperlinks) {
|
for(XSSFHyperlink hyperlink : hyperlinks) {
|
||||||
if(hyperlink.getCellRef().equals(ref)) {
|
if(hyperlink.getCellRef().equals(ref)) {
|
||||||
return hyperlink;
|
return hyperlink;
|
||||||
|
@ -1209,6 +1209,27 @@ public abstract class BaseTestSheet {
|
|||||||
wb.close();
|
wb.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getHyperlink() throws IOException {
|
||||||
|
Workbook workbook = _testDataProvider.createWorkbook();
|
||||||
|
Hyperlink hyperlink = workbook.getCreationHelper().createHyperlink(Hyperlink.LINK_URL);
|
||||||
|
hyperlink.setAddress("https://poi.apache.org/");
|
||||||
|
|
||||||
|
Sheet sheet = workbook.createSheet();
|
||||||
|
Cell cell = sheet.createRow(5).createCell(1);
|
||||||
|
|
||||||
|
assertEquals("list size before add", 0, sheet.getHyperlinkList().size());
|
||||||
|
cell.setHyperlink(hyperlink);
|
||||||
|
assertEquals("list size after add", 1, sheet.getHyperlinkList().size());
|
||||||
|
|
||||||
|
assertEquals("list", hyperlink, sheet.getHyperlinkList().get(0));
|
||||||
|
assertEquals("row, col", hyperlink, sheet.getHyperlink(5, 1));
|
||||||
|
assertEquals("addr", hyperlink, sheet.getHyperlink(new CellAddress("B4")));
|
||||||
|
assertEquals("no hyperlink at A1", null, sheet.getHyperlink(CellAddress.A1));
|
||||||
|
|
||||||
|
workbook.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void newMergedRegionAt() throws IOException {
|
public void newMergedRegionAt() throws IOException {
|
||||||
|
Loading…
Reference in New Issue
Block a user