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

时间:2011-07-11 09:21:44

标签: hyperlink apache-poi xssf

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

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

谢谢,

标记。

2 个答案:

答案 0 :(得分:0)

SXSSF很新,目前只针对某些任务。如果可以的话,我建议你看看XSSF是如何做到的,然后提交一个补丁!

与此同时,您可能可以使用HYPERLINK function取而代之。将您的单元格设置为公式单元格,并将公式设置为HYPERLINK('http://stackoverflow.com/','Stack Overflow'),它将在Excel中显示为链接

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

答案 1 :(得分:0)

我知道这是一个旧帖子,但是当我在同一主题上搜索时,它反复出现。

我使用POI 3.9X并且它确实可以使用超链接,但是如果您使用带有超链接的大量行,则会有很大的缺点。

  1. Excel中每张表格的限制为65K
  2. 如果您决定在65K标记后将工作簿分成工作表,则超链接对象的总数将保留在内存中(例如,如果每行使用1个),如果快速迭代可能会导致巨大的峰值并导致内存不足错误如果还不够Heap ...我认为是200,000行的千兆字节。
  3. 使用公式方法DOES工作,我切换到它,因为它没有创建在使用SXSSF时保留在内存中的超链接对象的限制。这是假设处理URL而不是关系。 对于那些看到" 0"基于前面的示例,请确保包含" ="在超链接Excel功能之前