如何使用 Java 向单元格内容添加超链接
问题描述
如何使用 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 {
//创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
//创建电子表格
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 链接
cell = spreadsheet.createRow(1).createCell((short) 1);
cell.setCellValue("URL Link");
XSSFHyperlink link =
(XSSFHyperlink)createHelper.createHyperlink(Hyperlink.LINK_URL);
link.setAddress("http://www.tutorialspoint.com/" );
cell.setHyperlink((XSSFHyperlink) link);
cell.setCellStyle(hlinkstyle);
//超链接到当前目录中的文件
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);
//电子邮件链接
cell = spreadsheet.createRow(3).createCell((short) 1);
cell.setCellValue("Email Link");
link = (XSSFHyperlink)createHelper.createHyperlink(Hyperlink.LINK_EMAIL);
link.setAddress("mailto:contact@tutorialspoint.com?subject=Hyperlink");
cell.setHyperlink(link);
cell.setCellStyle(hlinkstyle);
FileOutputStream out = new FileOutputStream(
new File("C:/poiexcel/addHyperlink.xlsx"));
//写入内容
workbook.write(out);
out.close();
System.out.println("hyperlink.xlsx written successfully");
}
}
输出
java_apache_poi_excel.html

