gpt4 book ai didi

java - Apache POI 中的多个超链接

转载 作者:行者123 更新时间:2023-11-29 05:30:57 25 4
gpt4 key购买 nike

是否可以在单个 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(... 方法调用,这一点变得很明显。

关于java - Apache POI 中的多个超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21111719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com