Apache POI Hyperlink无法在Microsoft Excel中打开

时间:2014-07-22 05:23:20

标签: java excel apache-poi

我正在尝试使用指向URL的apache poi创建超链接。此URL返回一个PDF文件的文件。我已经编写了如下代码来创建链接

HSSFHyperlink link = new HSSFHyperlink(HSSFHyperlink.LINK_URL);
link.setAddress(cellValue);
cell.setHyperlink(link);
cell.setCellValue(cellValue);

我正确地在Excel工作表中获取链接,并且能够在除Microsoft Excel之外的每个编辑器中打开链接。它抛出一个错误无法打开链接。我可以在Google表格,Open Office等中打开链接。

请帮助我,因为我不确定这是一个已知的问题或我缺少的东西

3 个答案:

答案 0 :(得分:0)

我使用this Example创建了超链接。我必须更改为.xlsx.xls才能在MS Excel 2010中打开文件,但链接工作正常。

但你的代码看起来也不错。

答案 1 :(得分:0)

我认为这是Apache poi的问题。如果您具有需要登录详细信息的超链接,则不会在excel中设置cookie,这将再次导致登录页面。因此,我尝试通过设置cookie来解决。

首先,我尝试创建一个URL和编码的用户详细信息 在excel中,如果您单击URL,我将打开另一个页面,该页面将验证用户详细信息并重定向到所需页面。

答案 2 :(得分:0)

如果以.xls格式导出​​excel,请使用HSSFHyperlink。对于.xlxs,请使用XSSFHyperlink类。它正在apache poi 3.10中工作

cell.setCellValue("URL Link");
HSSFHyperlink link1 =(HSSFHyperlink)createHelper.createHyperlink(Hyperlink.LINK_URL);
link1.setAddress("http://www.google.com/");
cell.setHyperlink((HSSFHyperlink) link1);
cell.setCellStyle(hlink_style);