Javaexamples-add-hyperlink-content

提供:Dev Guides
移動先:案内検索

ハイパーリンクをコンテンツに追加

問題の説明

Javaを使用してセルのコンテンツにハイパーリンクを追加する方法。

溶液

以下は、Javaを使用してセルのコンテンツにハイパーリンクを追加するプログラムです。

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

import org.apache.poi.common.usermodel.Hyperlink;
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(Hyperlink.LINK_URL);

      link.setAddress("http://www.finddevguides.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(Hyperlink.LINK_FILE);
      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(Hyperlink.LINK_EMAIL);
      link.setAddress("mailto:[email protected]?subject=Hyperlink");

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

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

出力

Excelハイパーリンク