`

Java 在Excel中添加、编辑、删除、获取超链接

阅读更多

超链接即内容链接,通过给特定对象设置超链接,可实现与特定网页、文件、邮件、网络等的链接,点击链接载体可打开链接目标,在文档处理中是一种比较常用的功能。本文将介绍通过Java程序来操作Excel中的超链接,包括添加超链接、编辑超链接、读取超链接以及删除超链接。

程序环境:导入Spire.Xls.jar 免费版本:3.9.1;JDK1.8.0

具体代码参考以下示例:

1. 添加超链接

给Excel文档添加超链接的方法,这里支持添加多种不同类型的链接,如URL网页链接、Workbook工作簿链接、File文档链接、Unc网络路径链接等。

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();
    }
}

 

2. 编辑Excel中的超链接

import com.spire.xls.*;
import com.spire.xls.collections.HyperLinksCollection;

public class ModifyHyperlink {
    public static void main(String[] args) {
        //加载Excel测试文档
        Workbook wb = new Workbook();
        wb.loadFromFile("test.xlsx");

        //获取指定工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取超链接,修改超链接本文、链接地址
        HyperLinksCollection link = sheet.getHyperLinks();
        link.get(0).setTextToDisplay("新超链接显示文本");
        link.get(0).setAddress("https://cn.bing.com/");

        //保存文档
        wb.saveToFile("ModifyHyperlink.xlsx");
        wb.dispose();
    }
}

 3. 获取Excel中的超链接

import com.spire.xls.*;
import com.spire.xls.collections.HyperLinksCollection;

public class GetHyperlink {
    public static void main(String[] args) {
        //加载包含超链接的Excel工作簿
        Workbook wb = new Workbook();
        wb.loadFromFile("AddHyperlink.xlsx");

        //获取工作表
        Worksheet sheet = wb.getWorksheets().get(0);

        //获取超链接集合
        HyperLinksCollection hyperLinks = sheet.getHyperLinks();

        //遍历所有超链接
        for (int i = 0; i< hyperLinks.getCount();i++)
        {
            //获取包含超链接的单元格行、列坐标
            int row = hyperLinks.get(i).getRange().getRow();
            int column = hyperLinks.get(i).getRange().getColumn();

            //获取超链接文本、地址
            String text = hyperLinks.get(i).getTextToDisplay();
            String address = hyperLinks.get(i).getAddress();

            //输出超链接获取结果
            System.out.println(String.format("单元格[%d, %d] 显示文本:" ,row ,column)+ text +"\n"+ " 链接地址:"+ address);
        }
    }
}

 4. 删除Excel中的超链接

import com.spire.xls.*;

public class RemoveHyperlink {
    public static void main(String[] args) {
        //加载包含超链接的Excel文档
        Workbook workbook = new Workbook();
        workbook.loadFromFile("AddHyperlink.xlsx");

        //获取第一个工作表
        Worksheet sheet = workbook.getWorksheets().get(0);

        //移除超链接,并保留文本信息
        sheet.getHyperLinks().removeAt(0);

        //保存文档
        workbook.saveToFile("RemoveHyperlink.xlsx", ExcelVersion.Version2013);
        workbook.dispose();
    }
}

 

 

0
0
分享到:
评论

相关推荐

    jxl.jar包(java导入导出Excel文件)

    - **批注与超链接**:可以在单元格中添加批注和设置超链接,增强Excel文件的信息传递能力。 - **行和列的操作**:可以增加、删除、隐藏行和列,调整其宽度和高度。 - **保护与密码设置**:可以为工作簿或工作表设置...

    数据导入Excel运用JXL的各类方法介绍

    在IT领域,特别是数据分析与处理工作中,Excel是一种广泛使用的工具,因其强大的数据处理能力和灵活的表格编辑功能而受到青睐。然而,当涉及到大量的数据导入或自动化处理时,传统的手动操作就显得效率低下且易出错...

    jxl.jar,解析excel所用到的jar包

    Workbook提供了添加、删除和获取Sheet的方法,允许开发者灵活地管理工作簿中的工作表。 2. **Sheet类**:Sheet是Workbook的子类,代表Excel中的单个工作表。在Sheet中,你可以创建行(Row)和单元格(Cell),并...

    poi操作excel所需jar包和实例

    综上,Apache POI是Java操作Excel的强大工具,无论是在读取、写入还是样式编辑方面都提供了丰富的功能。理解并熟练运用Apache POI,可以帮助开发者高效地处理Excel文件,实现各种复杂的业务需求。在实际项目中,根据...

    java操作DOC,PPT收集

    在Java编程语言中,处理Microsoft Office格式的文档,如DOC(Word文档)和PPT(PowerPoint演示文稿),通常需要借助特定的库。这里提到的"jxl"和"poi"是两个著名的Java库,分别用于处理Excel文档和整个Microsoft ...

    自己使用的POI jar包

    1. **引入依赖:** 在Java项目中,需要将POI相关的jar包添加到类路径中,如果是Maven项目,可以在pom.xml中添加对应的依赖。 2. **创建工作簿对象:** 使用WorkbookFactory类的create方法打开现有Excel文件,或使用...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...

    2021-2022计算机二级等级考试试题及答案No.18375.docx

    在C语言中,`sizeof()`操作符用来获取变量或类型所占用的内存大小(以字节为单位)。对于字符数组`p`,它包含了三个字符加上一个结束符`'\0'`,因此它的大小为4个字节。对于字符串`q`,虽然赋值为`"a"`,但实际上在...

    2021-2022计算机二级等级考试试题及答案No.422.docx

    11. Word表格操作:在Word中,可以插入和删除表格单元格。 12. DOS程序执行:DO命令通常用于执行批处理文件,扩展名为.DOS或.EXE。 13. 结构化程序设计:强调程序的易读性,提高代码的可维护性和理解性。 14. ...

    2021-2022计算机二级等级考试试题及答案No.15481.docx

    Cls是清屏命令,GetFocus获取焦点,RemoveItem删除项,而AddItem是向列表框或组合框添加项的命令,因此A选项不属于它们。 2. 字符串操作:在编程中,字符串是不可变的,所以B选项`s = s + 100`是非法的,因为尝试将...

    2021-2022计算机二级等级考试试题及答案No.15948.docx

    - **删除列**:在Excel中,删除某列的标准操作是在选择了该列之后,通过执行“编辑”菜单下的“删除”命令来完成。 ### 24. 数据查找 - **通配符使用**:在数据查找中,通配符“#”用于匹配任何单个数字字符。 ##...

    2021-2022计算机二级等级考试试题及答案No.12339.docx

    - **知识点**: 在Java Swing框架中,布局管理器是用来控制组件在容器中的排列方式的。 - **BorderLayout**: 是一种常用的布局管理器,它将容器划分为五个区域:北(North)、南(South)、东(East)、西(West)和中心...

    2021-2022计算机二级等级考试试题及答案No.18001.docx

    - **知识点**: 在Java中,Thread类用于创建线程。 - **详细解释**: - `Thread` 类位于`java.lang` 包中,这是Java的基础类库的一部分,无需显式导入即可使用。 #### 题目13: 信息加密原理 - **知识点**: 加密是一...

    润乾报表应用开发教程

    这种方式首先需要获取报表的真实路径,然后读取报表定义对象`ReportDefine`,最后将该对象保存到`request`对象中,并通过`&lt;report:html&gt;`标签发布报表。 ```java 取得报表真实路径 String reportPath = ...

    2021-2022计算机二级等级考试试题及答案No.3713.docx

    - **描述**:在Java中,标识符用于命名类名、变量名、方法名等。 - **解析**:Java中的标识符必须符合一定的规则,例如不能使用关键字作为标识符。在给出的选项中,“public”、“super”都是Java的关键字,不能用作...

Global site tag (gtag.js) - Google Analytics