gpt4 book ai didi

java - 如何使用 POI SS 处理 HYPERLINK 功能?

转载 作者:行者123 更新时间:2023-11-30 09:48:39 26 4
gpt4 key购买 nike

我正在尝试使用 POI SS 将 Excel 电子表格转换为 CSV。不幸的是,我似乎无法正确处理 HYPERLINK 函数:

if (cell.getCellType() == Cell.CELL_TYPE_FORMULA) {
System.out.println("formula cell: " + cell.toString());
switch (cell.getCachedFormulaResultType()) {
case Cell.CELL_TYPE_BOOLEAN:
return Boolean.toString(cell.getBooleanCellValue());
case Cell.CELL_TYPE_NUMERIC:
return NUMERIC_FORMAT.format(cell.getNumericCellValue());
case Cell.CELL_TYPE_BLANK:
return "";
default:
// Special case handling for HYPERLINK cells
if (cell.getHyperlink() != null) {
System.out.println("found hyperlink: " + cell.getHyperlink().getAddress());
return cell.getHyperlink().getAddress();
}
System.out.println("something else: " + cell.toString());
return cell.toString();
}
}

不幸的是,即使它将这个单元格解释为一个 FORMULA 单元格,cell.getHyperlink() 返回 null,所以 cell.toString() 只返回完整的公式,如:

=HYPERLINK("http:...","...")

如何让它正常工作?

最佳答案

=HYPERLINK("http://something/","label") 的公式与 Excel 中的普通超链接不同。

如果调用 get.getHyperlink(),它将返回单元格的超链接(如果已设置)。这是您从 Insert -> Hyperlink

之类的东西获得的超链接

对于公式的情况,只需取回公式字符串,如果是超链接公式,则从中获取感兴趣的部分。

(即使它们在 Excel 中看起来非常相似,但在文件格式上它们却非常不同,这就是您所看到的)

关于java - 如何使用 POI SS 处理 HYPERLINK 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145473/

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