[英]Multiple Hyperlinks in Apache POI
是否可以在單個Excel工作表中多次使用相同的超鏈接?
Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_URL);
link.setAddress("http://poi.apache.org/");
我已經使用上面的代碼創建了超鏈接和以下代碼來生成excel表的行和列。
Row title = null;
Cell reportNames = null;
/*
I am processing some queries here
*/
while(rs.next()){
title = sheet.createRow(idx);
reportNames = title.createCell(0);
reportNames.setCellValue(rs.getString(1));
reportNames.setHyperlink(link);
idx++;
sheet.autoSizeColumn(0);
}
}
我的問題是超鏈接顯示/僅適用於最后一行的內容。 我的意思是,只有最后一行是可點擊的,它會正確地重定向到哪里,而其他行沒有設置為超鏈接? 是否有任何限制,只有一個超鏈接指向同一個網址? 或者我做錯了什么?
每次要創建超鏈接單元格時,都必須創建新的超鏈接對象。 在Cell對象上調用setHyperlink時,它會為超鏈接設置對自身的引用。 以下是org.apache.poi.xssf.usermodel.XSSFCell
類的摘錄(版本3.9中的第913-921行):
public void setHyperlink(Hyperlink hyperlink) {
XSSFHyperlink link = (XSSFHyperlink)hyperlink;
// Assign to us
link.setCellReference( new CellReference(_row.getRowNum(), _cellNum).formatAsString() );
// Add to the lists
getSheet().addHyperlink(link);
}
通過查看link.setCellReference(...
方法調用)可以看出這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.