在使用POI SXSSF实现时,似乎没有正确创建超链接单元格。我从如何创建超链接的指南中获取了示例代码的精确副本,并将工作簿更改为SXSSF而不是XSSF,并且超链接不再起作用。
有其他人看到这个问题或发现解决方法吗?
谢谢,马克。
SXSSF是相当新的,目前仅针对某些任务。如果可以,我建议您看看XSSF是如何做到这一点的,并提交一个补丁!
与此同时,您可能可以使用HYPERLINK函数代替。将单元格设置为公式单元格,并将公式设置为HYPERLINK('http://stackoverflow.com/','Stack Overflow')
,它将在Excel
更新:支持在r1145629中添加到SXSSF以支持超链接
我知道这是一个老帖子,但它反复出现,当我在做同一主题的搜索。
我使用的是POI 3.9X,它确实可以与超链接一起工作,但是如果您使用超链接使用非常大量的行,则有一个很大的缺点。
- 在Excel 中每个工作表的超链接限制为65K。
- 如果你决定在65K标记后将工作簿分解为工作表,则超链接对象的总数留在内存中(例如每行使用1个),如果快速迭代,可能会导致巨大的峰值,并且如果没有足够的堆,可能会导致内存不足错误……这里的"大"指的是20万行的gb。
- 公式方法的使用确实有效,我切换到它,因为它没有在使用SXSSF时创建停留在内存中的超链接对象的限制。这是假设处理的是URL而不是关系。对于那些基于前面的示例看到"0"的,请确保在超链接Excel函数 之前包含"="。