Hyperlink 在SXSSF工作簿中使用Apache POI 3.8-beta4创建超链接时出现问题

Hyperlink 在SXSSF工作簿中使用Apache POI 3.8-beta4创建超链接时出现问题,hyperlink,apache-poi,xssf,Hyperlink,Apache Poi,Xssf,使用POI SXSSF实现时,似乎未正确创建超链接单元格。我从创建超链接的操作指南中获取了示例代码的精确副本,并将工作簿更改为SXSSF而不是XSSF,超链接不再起作用 是否有其他人看到此问题或发现了解决方法 谢谢 Mark.SXSSF是一款全新的产品,目前仅针对特定任务。如果可以,我建议您看看XSSF是如何做到的,并提交一个补丁 同时,您可能可以使用。将单元格设置为公式单元格,并将公式设置为类似于HYPERLINK('http://stackoverflow.com/“,”堆栈溢出“,它将在E

使用POI SXSSF实现时,似乎未正确创建超链接单元格。我从创建超链接的操作指南中获取了示例代码的精确副本,并将工作簿更改为SXSSF而不是XSSF,超链接不再起作用

是否有其他人看到此问题或发现了解决方法

谢谢


Mark.

SXSSF是一款全新的产品,目前仅针对特定任务。如果可以,我建议您看看XSSF是如何做到的,并提交一个补丁

同时,您可能可以使用。将单元格设置为公式单元格,并将公式设置为类似于
HYPERLINK('http://stackoverflow.com/“,”堆栈溢出“
,它将在Excel中显示为一个链接


更新:支持被添加到SXSSF中,以支持r1145629中的超链接

我知道这是一篇老文章,但在我搜索同一主题时,它反复出现

我使用的是POI 3.9X,它确实适用于超链接,但是如果您使用的超链接行太多,则会有很大的缺点

  • Excel中每张工作表的超链接限制为65K
  • 如果在65K标记后决定将工作簿拆分为工作表,则超链接对象的总数将保留在内存中(例如,如果每行使用1个超链接对象),如果快速迭代,可能会导致巨大的峰值,如果堆不够,则可能会导致内存不足错误。。。我指的是20万行的千兆字节
  • formula方法的使用确实有效,我改用它,因为它没有在使用SXSSF时创建留在内存中的超链接对象的限制。这是假设处理的是URL而不是关系。 对于根据上一示例看到“0”的用户,请确保在Hyperlink Excel函数之前包含“=”

  • 谢谢你的回复。不幸的是,SXSSF似乎也无法处理超链接公式。setCellFormula(“超链接(\“www.test1.com\”,\“test\”);这将正确创建链接,但将单元格中的文本填充为“0”。使用cell.setCellValue(“test”)似乎无法解决问题。公式也需要计算(计算)其缓存值,无论是XSSF、SXSSF还是HSSF