如何使用Java中的Apache poi创建指向其他工作表上的过滤器的超链接?

时间:2011-07-18 05:33:44

标签: java excel hyperlink apache-poi

我想创建一个超链接,从Sheet1(摘要)上的字段'Name'到Sheet2(详细信息)上'Name'列的AutoFilter,以便仅在Sheet2上显示该特定名称的详细信息。< / p>

我已导入:

import org.apache.poi.ss.usermodel.Hyperlink;
import org.apache.poi.ss.usermodel.CreationHelper;

要在其他工作表上过滤的超链接。

我使用VB宏完成了这项工作,但希望使用Java POI实现这一点。

3 个答案:

答案 0 :(得分:1)

前段时间我遇到过超链接的麻烦,最快的方式(我也很匆忙!)如下:

row.createCell(cellIdx, HSSFCell.CELL_TYPE_FORMULA).setCellFormula(String.format("HYPERLINK(%s; \"%s\")", sheetAndCellLocation, friendlyText));

答案 1 :(得分:1)

要使用Apache POI在Excel表单中插入超级链接,我们需要CreationHelper,我们需要从WorkBook获取CreationHelper(如XSSFWorkBook)。 代码段:

CreationHelper creationHelper = getWorkbook().getCreationHelper();
Hyperlink link = creationHelper.createHyperlink(Hyperlink.LINK_URL);
link.setAddress("www.google.com");

Apache POI中还有其他类型的HyperLink,其中一个是LINK_URL。 我们也可以将样式应用于默认创建的超链接,它将是蓝色和下划线。

XSSFCellStyle hLinkStyle = getWorkbook().createCellStyle();
Font hLinkFont = getWorkbook().createFont();
hLinkFont.setFontName("Ariel");
hLinkFont.setUnderline(Font.U_SINGLE);
hLinkFont.setColor(IndexedColors.BLUE.getIndex() );
hLinkStyle.setFont(hLinkFont);

答案 2 :(得分:0)

不支持JAVA POI - 直到我发现的......