poi 超链接 java Excel


package cn.com.jandar.util;

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

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFHyperlink;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.Hyperlink;
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.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;


public class Test {
	public static void main(String[] args) throws IOException {
		XSSFWorkbook workbook = new XSSFWorkbook();
		XSSFSheet sheet = workbook.createSheet("Hyper Links");
		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 = sheet.createRow(1).createCell((short)1);
		cell.setCellValue("URL Link");
		XSSFHyperlink  hyperLink = (XSSFHyperlink) createHelper.createHyperlink(Hyperlink.LINK_URL);
		hyperLink.setAddress("http://www.yiibai.com");
		cell.setHyperlink(hyperLink);
		cell.setCellStyle(hlinkstyle);
		//Hyperlink to a file in the current directory
		cell = sheet.createRow(2).createCell(1);
		cell.setCellValue("File Link");
		hyperLink = (XSSFHyperlink) createHelper.createHyperlink(Hyperlink.LINK_FILE);
		hyperLink.setAddress("cellstyle.xlsx");
		cell.setHyperlink(hyperLink);
		cell.setCellStyle(hlinkstyle);
		//e-mail link
		cell = sheet.createRow(3).createCell((short) 1);
		cell.setCellValue("Email Link");
		hyperLink = (XSSFHyperlink) createHelper.createHyperlink(Hyperlink.LINK_EMAIL);
		hyperLink.setAddress("mailto:contact@yiibai.com?"
			      +"subject=Hyperlink");
		cell.setHyperlink(hyperLink);
		cell.setCellStyle(hlinkstyle);
		XSSFSheet sheet2 = workbook.createSheet("明细页面");  //建立新的sheet对象  
		//sheel
		cell = sheet.createRow(2).createCell(1);
		cell.setCellValue("明细");
		hyperLink = (XSSFHyperlink) createHelper.createHyperlink(Hyperlink.LINK_DOCUMENT);
		hyperLink.setAddress("#明细页面!A10");
		cell.setHyperlink(hyperLink);
		cell.setCellStyle(hlinkstyle);
        for (int i = 0; i < 30; i++) {  
            XSSFRow row2 = sheet2.createRow((short)i);  
            XSSFCell cell2 = row2.createCell((short)0);  
            cell2.setCellValue("测试第"+(i+1)+"行");  
        }  

		FileOutputStream fos = new FileOutputStream(new File("D:/hyperLink.xlsx"));
		workbook.write(fos);
		fos.close();
		System.out.println("hyperlink.xlsx written successfully");

	}
}

引用引用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Java 中为 Excel 单元格添加超链接,可以使用 Apache POI 库提供的 HSSFHyperlink 类。下面是一个简单的示例代码,可以将超链接添加到 Excel 单元格中: ```java import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.usermodel.HSSFHyperlink; import org.apache.poi.ss.usermodel.*; public class ExcelHyperlinkExample { public static void main(String[] args) { try { Workbook workbook = new HSSFWorkbook(); CreationHelper createHelper = workbook.getCreationHelper(); Sheet sheet = workbook.createSheet("Hyperlinks"); // 创建一个超链接 Cell cell1 = sheet.createRow(0).createCell(0); cell1.setCellValue("Apache POI"); HSSFHyperlink link1 = (HSSFHyperlink)createHelper.createHyperlink(HyperlinkType.URL); link1.setAddress("http://poi.apache.org/"); cell1.setHyperlink(link1); // 创建一个带文件路径的超链接 Cell cell2 = sheet.createRow(1).createCell(0); cell2.setCellValue("File Link"); HSSFHyperlink link2 = (HSSFHyperlink)createHelper.createHyperlink(HyperlinkType.FILE); link2.setAddress("C:/temp/test.txt"); cell2.setHyperlink(link2); // 创建一个带邮箱地址的超链接 Cell cell3 = sheet.createRow(2).createCell(0); cell3.setCellValue("Email Link"); HSSFHyperlink link3 = (HSSFHyperlink)createHelper.createHyperlink(HyperlinkType.EMAIL); link3.setAddress("mailto:myemail@example.com?subject=Hyperlink"); cell3.setHyperlink(link3); FileOutputStream fileOut = new FileOutputStream("hyperlinks.xls"); workbook.write(fileOut); fileOut.close(); workbook.close(); } catch (Exception ex) { System.out.println(ex.getMessage()); } } } ``` 这个示例代码将创建一个新的 Excel 工作簿,向其中添加一个名为“Hyperlinks”的工作表,并在第一行、第二行和第三行分别添加三个超链接。第一个超链接指向 Apache POI 的网站,第二个超链接指向本地文件 C:/temp/test.txt,第三个超链接指向一个电子邮件地址。保存并关闭工作簿后,您将在当前目录下找到一个名为“hyperlinks.xls”的 Excel 文件,其中包含了这些超链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值