Java 添加超链接到Excel文档
超链接即内容链接,通过给特定对象设置超链接,可实现载体与特定网页、文件、邮件、网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比较常用的功能。本文将介绍通过Java程序给Excel文档添加超链接的方法,这里支持添加多种不同类型的链接,如URL网页链接、Workbook工作簿链接、File文档链接、Unc网络路径链接等。
使用工具:Free Spire.XLS for Java (免费版)
注:通过官网下载包,并解压将lib文件夹下的jar文件导入java程序。如下导入效果:
Java代码示例
import com.spire.xls.*; public class AddHyperlink { public static void main(String[] args) { //加载Excel文档 Workbook wb = new Workbook(); wb.loadFromFile("test.xlsx"); //获取工作表 Worksheet sheet = wb.getWorksheets().get(0); //添加URL链接,链接到网页地址 HyperLink UrlLink = sheet.getHyperLinks().add(sheet.getCellRange("B3")); UrlLink.setTextToDisplay(sheet.getCellRange("B3").getText()); UrlLink.getType().compareTo(HyperLinkType.Url); UrlLink.setAddress("https://www.baidu.com/"); //添加URL链接,链接到邮件地址 HyperLink MailLink = sheet.getHyperLinks().add(sheet.getCellRange("D3")); MailLink.setTextToDisplay(sheet.getCellRange("D3").getText()); MailLink.getType().compareTo(HyperLinkType.Url); MailLink.setAddress("mailto: support @ e-iceblue.com"); //添加File文档链接,链接到指定文档 HyperLink FileLink = sheet.getHyperLinks().add(sheet.getCellRange("B7")); FileLink.setTextToDisplay(sheet.getCellRange("B7").getText()); FileLink.getType().compareTo(HyperLinkType.File); FileLink.setAddress("E:\\IDEA\\sample.docx"); // 添加Workbook文档链接,链接到工作簿文档(这里链接到测试文档中的指定sheet中的指定单元格) HyperLink WbLink = sheet.getHyperLinks().add(sheet.getCellRange("D7")); WbLink.getType().compareTo(HyperLinkType.Workbook); WbLink.setTextToDisplay(sheet.getCellRange("D7").getText()); WbLink.setAddress("Sheet2!B5"); //添加Unc链接,链接到网络路径 HyperLink UncLink = sheet.getHyperLinks().add(sheet.getCellRange("B11")); UncLink.getType().compareTo(HyperLinkType.Unc); UncLink.setTextToDisplay(sheet.getCellRange("B11").getText()); UncLink.setAddress("\\192.168.1.108"); //保存文档 wb.saveToFile("AddHyperlink.xlsx",ExcelVersion.Version2010); wb.dispose(); } }
文档超链接添加效果:
分类:
Java Excel
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)