在Excel文档中,若想快速访问其他文件或网页上的相关信息,可以在工作表单元格中插入超链接。超链接可为文本或图片,链接对象除了网页或其他文档外,也可是邮件、同一文档中其他工作表单元格或网络路径。本文就将通过使用Java程序来介绍如何在Excel中添加超链接。
方法1:通过 官网 下载获取jar包。解压后将lib文件夹下的Spire.Xls.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程参见 此网页 。
import com.spire.xls.*; public class AddTextHyperlink { public static void main(String[] args) { //创建Excel文档 Workbook workbook = new Workbook(); //获取第一页工作表 Worksheet sheet = workbook.getWorksheets().get(0); //添加链接到网页地址 HyperLink urlLink = sheet.getHyperLinks().add(sheet.getCellRange("B3")); urlLink.setTextToDisplay("URL1:链接到网页"); urlLink.setAddress("https://segmentfault.com/"); //添加链接到邮件地址 HyperLink mailLink = sheet.getHyperLinks().add(sheet.getCellRange("E3")); mailLink.setTextToDisplay("URL2:链接到邮件"); mailLink.setAddress("mailto:tinatang1202@gmail.com"); //添加链接到指定文档 HyperLink fileLink = sheet.getHyperLinks().add(sheet.getCellRange("B7")); fileLink.setTextToDisplay("FileLink:链接到文档"); fileLink.setAddress("C://Users//Test1//Desktop//Schedule.xlsx"); //添加链接到工作簿文档(此处链接到测试文档中的指定sheet中的指定单元格) HyperLink linkToSheet = sheet.getHyperLinks().add(sheet.getCellRange("E7")); linkToSheet.setTextToDisplay("WorkbookLink;链接到工作簿文档的指定工作表单元格"); linkToSheet.setAddress("Sheet2!B5"); //添加链接到网咯路径 HyperLink uncLink = sheet.getHyperLinks().add(sheet.getCellRange("B11")); uncLink.setTextToDisplay("UNCLink:链接到网络路径"); uncLink.setAddress("////192.168.1.108"); //保存文档 workbook.saveToFile("output/AddTextHyperlinks.xlsx", ExcelVersion.Version2013); } }
import com.spire.xls.*; public class AddImageHyperlink { public static void main(String[] args) { //创建Workbook对象并获取第一个工作表 Workbook wb = new Workbook(); Worksheet sheet = wb.getWorksheets().get(0); //在单元格C4中添加文字 sheet.getCellRange("C3").setText(" 图片超链接"); sheet.getCellRange("C3").getStyle().setVerticalAlignment(VerticalAlignType.Top); //添加图片到单元格C5 String picPath = "C://Users//Test1//Desktop//Image.png"; ExcelPicture picture = sheet.getPictures().add(5,3,picPath); //为图片设置超链接 picture.setHyperLink("https://javablogdotorg.wordpress.com/", true); //设置行高和列宽 sheet.getColumns()[2].setColumnWidth(21); sheet.getRows()[4].setRowHeight(36); //保存文档 wb.saveToFile("output/AddImageHyperlink.xlsx", ExcelVersion.Version2016); } }
(本文完)