bug 60601: unlink hyperlinks from a sheet if all hyperlinks have been removed. Patch from Joachim Piketz
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1779426 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c0986ebe7a
commit
70cc2bce03
@ -3484,6 +3484,9 @@ public class XSSFSheet extends POIXMLDocumentPart implements Sheet {
|
|||||||
}
|
}
|
||||||
worksheet.getHyperlinks().setHyperlinkArray(ctHls);
|
worksheet.getHyperlinks().setHyperlinkArray(ctHls);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
worksheet.unsetHyperlinks();
|
||||||
|
}
|
||||||
|
|
||||||
int minCell=Integer.MAX_VALUE, maxCell=Integer.MIN_VALUE;
|
int minCell=Integer.MAX_VALUE, maxCell=Integer.MIN_VALUE;
|
||||||
for(XSSFRow row : _rows.values()){
|
for(XSSFRow row : _rows.values()){
|
||||||
|
@ -1232,6 +1232,29 @@ public abstract class BaseTestSheet {
|
|||||||
workbook.close();
|
workbook.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void removeAllHyperlinks() throws IOException {
|
||||||
|
Workbook workbook = _testDataProvider.createWorkbook();
|
||||||
|
Hyperlink hyperlink = workbook.getCreationHelper().createHyperlink(HyperlinkType.URL);
|
||||||
|
hyperlink.setAddress("https://poi.apache.org/");
|
||||||
|
Sheet sheet = workbook.createSheet();
|
||||||
|
Cell cell = sheet.createRow(5).createCell(1);
|
||||||
|
cell.setHyperlink(hyperlink);
|
||||||
|
|
||||||
|
assertEquals(1, workbook.getSheetAt(0).getHyperlinkList().size());
|
||||||
|
// Save a workbook with a hyperlink
|
||||||
|
Workbook workbook2 = _testDataProvider.writeOutAndReadBack(workbook);
|
||||||
|
assertEquals(1, workbook2.getSheetAt(0).getHyperlinkList().size());
|
||||||
|
|
||||||
|
// Remove all hyperlinks from a saved workbook
|
||||||
|
workbook2.getSheetAt(0).getRow(5).getCell(1).removeHyperlink();
|
||||||
|
assertEquals(0, workbook2.getSheetAt(0).getHyperlinkList().size());
|
||||||
|
|
||||||
|
// Verify that hyperlink was removed from workbook after writing out
|
||||||
|
Workbook workbook3 = _testDataProvider.writeOutAndReadBack(workbook2);
|
||||||
|
assertEquals(0, workbook3.getSheetAt(0).getHyperlinkList().size());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void newMergedRegionAt() throws IOException {
|
public void newMergedRegionAt() throws IOException {
|
||||||
|
Loading…
Reference in New Issue
Block a user