我正在使用Apache POI生成Excel工作表(.xls格式)。在第一张纸上,我创建了几个超链接,这些超链接将链接到同一文档中的不同工作表。
HSSFSheet summarySheet = workbook.createSheet(rs.getString(1));
Hyperlink targetLink = createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT);
targetLink.setAddress("'"+rs.getString(1)+"'");
我正在使用上面的代码段来为这些工作表创建工作表和超链接。您可以看到,当我从数据库动态设置地址时,页数会有所不同。这种方法工作正常,但我现在遇到了一个问题。
正如我所说,除了最后一个链接外,每个链接将在同一文档中打开另一张表。单击此按钮时,Open Office会弹出一个弹出窗口“无效范围”。 现在,我不知道问题是与代码有关还是与代码无关。我只是想检查是否有人遇到过类似的问题,或者有人知道为什么Open Office会抛出这样的错误。如果你们中的任何一个人觉得这个问题不具有破坏性,或者是在错误的地方被问到,那么请在向下推荐之前指导我。 感谢。
修改:现在我已经检查了它与我在Target Sheet
中设置的setLinkAddress()
有关。任何人都可以告诉我,我应该使用哪种格式来指定目标表的名称?
答案 0 :(得分:0)
我已经找到了解决这个问题的方法。 我怀疑它与目标表的名称格式有关。目标工作表的名称有一些特定长度,超出该长度将在Open Office中抛出“无效范围”错误。 我们可以在创建工作表时减少工作表名称的长度。 我不知道确切的长度,但从我看到它应该只有足够长,以便它可以完全显示在打开的办公室屏幕底部的工作表标签中。