轻松导航:教你用Java向Excel中添加超链接

发布时间:2023/10/11 14:10 发布者:Leo

返回博客中心

前言

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

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

在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编程中,我们都可以灵活运用超链接来连接不同的内容和资源。通过添加、删除和带形状的超链接,我们可以实现更加丰富和个性化的用户交互体验。超链接的应用范围广泛,包括网页链接、文档链接、内部定位链接和电子邮件链接等。相信随着技术的不断发展,超链接将在互联网和数字化领域中扮演越来越重要的角色,为用户提供更加便捷和丰富的资源访问方式。


GcExcel | 下载试用

GrapeCity Documents for Excel (简称:GcExcel)是一款基于 Java 平台的服务端高性能表格组件,可与纯前端表格控件 SpreadJS 前后端兼容,无需依赖 Office、POI 或第三方应用软件,在前端展示电子表格数据,在服务端批量创建、加载、编辑、打印、导入/导出 Excel 文档,为您开发的应用程序提供在线文档的前后端数据同步、在线填报与服务端批量导出与打印,以及类 Excel 报表模板设计与服务端高性能处理等一整套类 Excel 全栈解决方案