Java 实现Excel文档添加超链接的代码
作者:E-iceblue 发布时间:2021-09-05 20:06:52
标签: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();
}
}
来源:https://www.cnblogs.com/Yesi/archive/2020/02/28/12376102.html


猜你喜欢
- mysql有个字段是bit,只存储1和0,是二进制存储,那么在java的dao层如何映射成boolean呢@Column(name=&quo
- 查看apiDemos,找到View/Animation/shake找到对应的动画代码,直接拷贝过来当导入一个项目的时候,报R文件不存在,很多
- 第9版《Java核心技术卷Ⅰ》的第607页介绍了一个方法:Collections类中的sort方法可以对实现了List接口的集合进行排序。这
- 本文实例为大家分享了android实现注册登录程序的具体代码,供大家参考,具体内容如 * 册页面:user_register.xml:<
- 实践过程效果代码public partial class Form1 : Form{ public Form1()
- 什么是代理代理就是给目标对象一个代理对象,并由代理对象控制目标的引用。为什么要使用代理模式1、通过引入代理对象的方式,可以间接的访问目标对象
- 一、内部存储内部存储,位于data/data/包名/路径下是否需要用户权限:否是否能被其他应用访问:否卸载应用数据是否被删除:是内部存储控件
- 前言新建的Compose项目默认的 Material 主题为我们提供了一些颜色,但对我这种花里胡哨的人来说根本不够呀。
- 实现常驻通知栏时遇到的问题:无论如何就是不显示通知,查看日志发现貌似报错了:2020-06-28 14:11:34.923 6387-638
- 一、常见场景1、ThreadLocal作为线程上下文副本,那么一种最常见的使用方式就是用来方法隐式传参,通过提供的set()和get()两个
- 1.SQLite的特点SQLite是一个轻量级数据库,它设计目标是嵌入式的,而且占用资源非常低SQLite没有服务器进程,通过文件保存数据,
- 本文实例为大家分享了Android检测手机多点触摸点数的具体代码,供大家参考,具体内容如下说明:手指每点击一个地方,在那个地方就画一个圆第一
- 首先利用IDEA创建Maven工程项目1.选择新建项目2.选中Maven骨架3.填写项目名称和项目位置4.Finsh之后默认打开的是pom.
- Android6.0蓝牙出现无法扫描设备或闪退问题解决办法前言:目前待的这家公司是做智能家居的,最近客户那边有反馈说为什么我的手机蓝牙也打开
- 第一步:在d盘新建android文件夹,在此文件夹中再建三个子文件夹,Android Studio 、 Android_SDK、Androi
- primary_text_yellow.xml <?xml version="1.0" encoding=&quo
- 0 写在前面在实际工作中有一些地方需要用到截取字符串的方法,所以在此记录下截取字符串的几种方法。.substring()StringUtil
- 本文实例分析了C#队列Queue用法。分享给大家供大家参考。具体分析如下:队列(Queue)在程序设计中扮演着重要的角色,因为它可以模拟队列
- 结构是使用 struct 关键字定义的,例如:public struct PostalAddress{ // Fields, propert
- 一直想练习下java多线程抓取数据。有天被我发现,铃声多多的官网(http://www.shoujiduoduo.com/main/)有大量