Search in sources :

Example 1 with HSSFHyperlink

use of org.apache.poi.hssf.usermodel.HSSFHyperlink in project poi by apache.

the class Hyperlinks method main.

public static void main(String[] args) throws IOException {
    HSSFWorkbook wb = new HSSFWorkbook();
    HSSFCreationHelper helper = wb.getCreationHelper();
    //cell style for hyperlinks
    //by default hyperlinks are blue and underlined
    HSSFCellStyle hlink_style = wb.createCellStyle();
    HSSFFont hlink_font = wb.createFont();
    hlink_font.setUnderline(Font.U_SINGLE);
    hlink_font.setColor(HSSFColorPredefined.BLUE.getIndex());
    hlink_style.setFont(hlink_font);
    HSSFCell cell;
    HSSFSheet sheet = wb.createSheet("Hyperlinks");
    //URL
    cell = sheet.createRow(0).createCell(0);
    cell.setCellValue("URL Link");
    HSSFHyperlink link = helper.createHyperlink(HyperlinkType.URL);
    link.setAddress("http://poi.apache.org/");
    cell.setHyperlink(link);
    cell.setCellStyle(hlink_style);
    //link to a file in the current directory
    cell = sheet.createRow(1).createCell(0);
    cell.setCellValue("File Link");
    link = helper.createHyperlink(HyperlinkType.FILE);
    link.setAddress("link1.xls");
    cell.setHyperlink(link);
    cell.setCellStyle(hlink_style);
    //e-mail link
    cell = sheet.createRow(2).createCell(0);
    cell.setCellValue("Email Link");
    link = helper.createHyperlink(HyperlinkType.EMAIL);
    //note, if subject contains white spaces, make sure they are url-encoded
    link.setAddress("mailto:poi@apache.org?subject=Hyperlinks");
    cell.setHyperlink(link);
    cell.setCellStyle(hlink_style);
    //link to a place in this workbook
    //create a target sheet and cell
    HSSFSheet sheet2 = wb.createSheet("Target Sheet");
    sheet2.createRow(0).createCell(0).setCellValue("Target Cell");
    cell = sheet.createRow(3).createCell(0);
    cell.setCellValue("Worksheet Link");
    link = helper.createHyperlink(HyperlinkType.DOCUMENT);
    link.setAddress("'Target Sheet'!A1");
    cell.setHyperlink(link);
    cell.setCellStyle(hlink_style);
    FileOutputStream out = new FileOutputStream("hssf-links.xls");
    wb.write(out);
    out.close();
    wb.close();
}
Also used : HSSFCellStyle(org.apache.poi.hssf.usermodel.HSSFCellStyle) HSSFCreationHelper(org.apache.poi.hssf.usermodel.HSSFCreationHelper) HSSFCell(org.apache.poi.hssf.usermodel.HSSFCell) FileOutputStream(java.io.FileOutputStream) HSSFFont(org.apache.poi.hssf.usermodel.HSSFFont) HSSFSheet(org.apache.poi.hssf.usermodel.HSSFSheet) HSSFWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook) HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink)

Example 2 with HSSFHyperlink

use of org.apache.poi.hssf.usermodel.HSSFHyperlink in project poi by apache.

the class TestXSSFHyperlink method testCopyHSSFHyperlink.

@Test
public void testCopyHSSFHyperlink() throws IOException {
    HSSFWorkbook hssfworkbook = new HSSFWorkbook();
    HSSFHyperlink hlink = hssfworkbook.getCreationHelper().createHyperlink(HyperlinkType.URL);
    hlink.setAddress("http://poi.apache.org/");
    hlink.setFirstColumn(3);
    hlink.setFirstRow(2);
    hlink.setLastColumn(5);
    hlink.setLastRow(6);
    hlink.setLabel("label");
    XSSFHyperlink xlink = new XSSFHyperlink(hlink);
    assertEquals("http://poi.apache.org/", xlink.getAddress());
    assertEquals(new CellReference(2, 3), new CellReference(xlink.getCellRef()));
    // Are HSSFHyperlink.label and XSSFHyperlink.tooltip the same? If so, perhaps one of these needs renamed for a consistent Hyperlink interface
    // assertEquals("label", xlink.getTooltip());
    hssfworkbook.close();
}
Also used : CellReference(org.apache.poi.ss.util.CellReference) HSSFWorkbook(org.apache.poi.hssf.usermodel.HSSFWorkbook) HSSFHyperlink(org.apache.poi.hssf.usermodel.HSSFHyperlink) Test(org.junit.Test)

Aggregations

HSSFHyperlink (org.apache.poi.hssf.usermodel.HSSFHyperlink)2 HSSFWorkbook (org.apache.poi.hssf.usermodel.HSSFWorkbook)2 FileOutputStream (java.io.FileOutputStream)1 HSSFCell (org.apache.poi.hssf.usermodel.HSSFCell)1 HSSFCellStyle (org.apache.poi.hssf.usermodel.HSSFCellStyle)1 HSSFCreationHelper (org.apache.poi.hssf.usermodel.HSSFCreationHelper)1 HSSFFont (org.apache.poi.hssf.usermodel.HSSFFont)1 HSSFSheet (org.apache.poi.hssf.usermodel.HSSFSheet)1 CellReference (org.apache.poi.ss.util.CellReference)1 Test (org.junit.Test)1