Java轻松实现在Excel中添加超链接功能

 更新时间:2024年01月16日 10:17:27   作者:葡萄城官网  
这篇文章主要为大家详细介绍了Java如何轻松实现在Excel中添加超链接功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下

前言

超链接是指在网页或电子文档中常见的元素,它的主要作用是将一个文本或图像与另一网页、文件或资源链接起来,从而使用户能够通过点击该链接跳转到目标资源、超链接可以起到导航以及引用的作用。超链接通常有以下几种用途:

  • 网页链接
  • 文档链接
  • 内部定位链接
  • 电子邮件链接

在Java中设置超链接

下面小编将为大家介绍如何使用Java实现超链接的添加、删除和带形状的超链接。在下面的例子中我们使用到了GcExcel产品,具体的例子如下。

添加超链接

下面的代码,添加了四个链接,分别是外部文件,网页链接,定位链接及邮件链接。

Workbook wb = new Workbook();
 IWorksheet sheet = wb.getActiveSheet();
 // 添加外部文件链接
 sheet.getRange("A1:B2").getHyperlinks().add(sheet.getRange("A1"),
     "C:/Documents/GcExcel/GrapeCityDocumentsExcel/Project/Hyperlink/SampleFile.xlsx",
     null, "链接至SampleFile.xlsx文件.", "SampleFile.xlsx");
 // 添加网页链接
 sheet.getRange("A3:B4").getHyperlinks().add(sheet.getRange("A3"),
     "http://www.grapecity.com.cn/", null,
     "打开葡萄城官网.", "葡萄城");
 // 添加内部定位链接
 sheet.getRange("A5:B6").getHyperlinks().add(sheet.getRange("A5"),
     null, "Sheet1!$C$3:$E$4", "跳转至 sheet1 C3:E4", "");
 // 添加邮件链接
 sheet.getRange("A7:B8").getHyperlinks().add(sheet.getRange("A7"),
     "mailto:sales.xa@grapecity.com", null,
     "发送至销售部门", "发送至中国销售");
 wb.save("output/hyperlinks.xlsx");

实现效果如下图:

删除超链接

通过 delete 可以删除对应单元格上的超链接,下面代码删除了 "A5:B6" 单元格中的超链接。

Workbook wb = new Workbook();
 wb.open("output/hyperlinks.xlsx");
 IWorksheet sheet = wb.getActiveSheet();
 sheet.getRange("A5:B6").getHyperlinks().delete();
 wb.save("output/removeHyperlinks.xlsx");

实现效果如下图:

带有超链接的形状

除了普通的超链接,GcExcel 还支持带有超链接的形状,通过下面的代码可以创建带有超链接的形状。

// 创建workbook
 Workbook workbook = new Workbook();
 IWorksheet worksheet = workbook.getActiveSheet();

 // 添加形状
 IShape shape1 = worksheet.getShapes().addShape(AutoShapeType.Rectangle, 10, 0, 100, 100);
 shape1.getTextFrame().getTextRange().add("点击访问GcExcel官网");
 IShape shape2 = worksheet.getShapes().addShape(AutoShapeType.RightArrow, 10, 120, 100, 100);
 shape2.getTextFrame().getTextRange().add("跳转至 sheet1 C3:E4");
 IShape shape3 = worksheet.getShapes().addShape(AutoShapeType.Oval, 10, 240, 100, 100);
 shape3.getTextFrame().getTextRange().add("发送邮件");
 IShape shape4 = worksheet.getShapes().addShape(AutoShapeType.LeftArrow, 10, 360, 100, 100);
 shape4.getTextFrame().getTextRange().add("链接external.xlsx文件");

 //给shape1添加网址链接
 worksheet.getHyperlinks().add(shape1,
     "https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java",
     null, "点击访问GcExcel官网", "GcExcel");

 //给shape2添加内部定位链接
 worksheet.getHyperlinks().add(shape2, null, "Sheet1!$C$3:$E$4", "跳转至 sheet1 C3:E4", null);

 //给shape3添加邮件链接
 worksheet.getHyperlinks().add(shape3, "mailto:sales.xa@grapecity.com",
     null, "发送邮件", "发送邮件");

 //给shape4添加文档链接
 String path = "external.xlsx";
 worksheet.getHyperlinks().add(shape4, path, null,
     "链接external.xlsx文件", "External.xlsx");

 //保存到Excel
 workbook.save("output/shapeHyperlink.xlsx");

实现效果如下图:

总结

综上所述,超链接是网页和电子文档中常见的元素,它将文本或图像与其他资源相关联,实现了导航和引用的功能。无论是在网页中还是在Java编程中,我们都可以灵活运用超链接来连接不同的内容和资源。通过添加、删除和带形状的超链接,我们可以实现更加丰富和个性化的用户交互体验。超链接的应用范围广泛,包括网页链接、文档链接、内部定位链接和电子邮件链接等。相信随着技术的不断发展,超链接将在互联网和数字化领域中扮演越来越重要的角色,为用户提供更加便捷和丰富的资源访问方式。

到此这篇关于Java轻松实现在Excel中添加超链接功能的文章就介绍到这了,更多相关Java Excel添加超链接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java线程变量ThreadLocal详细解读

    Java线程变量ThreadLocal详细解读

    这篇文章主要介绍了Java线程变量ThreadLocal详细解读,多线程访问同一个变量的时候,很容易出现问题,特别是多线程对一个共享变量进行写入的时候,为了线程的安全在进行数据写入时候会进行数据的同步,需要的朋友可以参考下
    2024-01-01
  • Mybatis中BindingException异常的产生原因及解决过程

    Mybatis中BindingException异常的产生原因及解决过程

    BindingException异常是MyBatis框架中自定义的异常,顾名思义指的是绑定出现问题,下面这篇文章主要给大家介绍了关于MyBatis报错BindingException异常的产生原因及解决过程,需要的朋友可以参考下
    2023-06-06
  • Java 常量池详解之class文件常量池 和class运行时常量池

    Java 常量池详解之class文件常量池 和class运行时常量池

    这篇文章主要介绍了Java 常量池详解之class文件常量池 和class运行时常量池,常量池主要存放两大类常量:字面量,符号引用,本文结合示例代码对java class常量池相关知识介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • Java 服务端消息推送的实现小结

    Java 服务端消息推送的实现小结

    本文主要介绍了Java 服务端消息推送的实现小结,主要包括四种常见的消息实时推送方案:短轮询、长轮询、SSE 和 WebSocket,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • visual studio 2019安装配置可编写c/c++语言的IDE环境

    visual studio 2019安装配置可编写c/c++语言的IDE环境

    这篇文章主要介绍了visual studio 2019安装配置可编写c/c++语言的IDE环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 解决java junit单元测试@Test报错的问题

    解决java junit单元测试@Test报错的问题

    今天小编就为大家分享一篇解决java junit单元测试@Test报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Java实现的AES256加密解密功能示例

    Java实现的AES256加密解密功能示例

    这篇文章主要介绍了Java实现的AES256加密解密功能,结合完整实例形式分析了Java实现AES256加密解密功能的步骤与相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • Java 详细讲解线程的状态及部分常用方法

    Java 详细讲解线程的状态及部分常用方法

    在Java程序中,一个线程对象只能调用一次start()方法启动新线程,并在新线程中执行run()方法。一旦run()方法执行完毕,线程就结束了,本篇来讲解Java线程的状态以及部分常用方法
    2022-04-04
  • MyBatis Mapper.xml中的命名空间及命名方式

    MyBatis Mapper.xml中的命名空间及命名方式

    这篇文章主要介绍了MyBatis Mapper.xml中的命名空间及命名方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Mybatis_plus基础教程(总结篇)

    Mybatis_plus基础教程(总结篇)

    这篇文章主要介绍了Mybatis_plus基础教程(总结篇),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09

最新评论