使用Python实现在Excel工作表中添加、修改及删除超链接

 更新时间:2024年10月25日 10:14:24   作者:Eiceblue  
在创建Excel工作簿时,内部文档的互链、报告自动化生成或是创建外部资源快速访问路径是比较常见的需求,本文将介绍如何使用Python实现在Excel工作表中对超链接进行添加、修改及删除的操作,需要的朋友可以参考下

引言

在创建Excel工作簿时,内部文档的互链、报告自动化生成或是创建外部资源快速访问路径是比较常见的需求。通过超链接,我们可以将工作表与外部资源、文件或网页无缝连接,提升数据的交互性和可读性。无论是为了快速导航、动态更新内容,还是为了整合多种数据源,掌握如何自动化管理超链接显得至关重要。使用Python,用户可以轻松批量添加、修改或删除超链接,大幅提高效率并减少手动操作的出错率。

本文将介绍如何使用Python实现在Excel工作表中对超链接进行添加、修改及删除的操作。

本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install spire.xls

用Python在Excel工作表中插入超链接

在Excel工作表中,添加文本超链接通常是基于单元格进行的。添加文本超链接到指定单元格后,单元格中的所有文本或数值将作为超链接的一部分。我们可以使用该库中的Worksheet.Hyperlinks.Add(cell: CellRange)方法来添加文本超链接到工作表中的指定单元格,并通过Hyperlink类下的属性对其类型和链接目标进行设置。以下是插入网页、邮箱、外部文档、文档内位置以及UNC地址超链接到Excel单元格文本的操作步骤:

  1. 导入所需模块:WorkbookHyperlinkTypeFileFormat
  2. 创建Workbook实例。
  3. 使用Workbook.Worksheets.get_Item()方法获取一个工作表。
  4. 使用Worksheet.Range[]属性获取单元格。
  5. 使用Worksheet.Hyperlinks.Add(cell: CellRange)方法在单元格中插入超链接。
  6. 通过Hyperlink.Type属性设置超链接类型。
  7. 通过Hyperlink.Address设置链接地址。
  8. 通过Hyperlink.TextToDisplay设置超链接展示文本。
  9. 使用Workbook.SaveToFile()方法保存工作簿。
  10. 释放资源。

代码示例

from spire.xls import Workbook, HyperLinkType, FileFormat

# 创建Workbook实例
workbook = Workbook()

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 添加一个网页超链接
cell1 = sheet.Range[2, 2]
webLink = sheet.HyperLinks.Add(cell1)
webLink.Type = HyperLinkType.Url
webLink.TextToDisplay = "网页超链接"
webLink.Address = "https://www.google.com"

# 添加一个邮箱地址超链接
cell2 = sheet.Range[4, 2]
emailLink = sheet.HyperLinks.Add(cell2)
emailLink.Type = HyperLinkType.Url
emailLink.TextToDisplay = "邮箱地址超链接"
emailLink.Address = "mailto:example@example.com"

# 添加一个外部文件超链接
cell3 = sheet.Range[6, 2]
fileLink = sheet.HyperLinks.Add(cell3)
fileLink.Type = HyperLinkType.File
fileLink.TextToDisplay = "外部文件超链接"
fileLink.Address = "C:\\Users\\Public\\Documents\\Example.pdf"

# 添加一个文档内部超链接
cell4 = sheet.Range[8, 2]
internalLink = sheet.HyperLinks.Add(cell4)
internalLink.Type = HyperLinkType.Workbook
internalLink.TextToDisplay = "文档内部超链接"
internalLink.Address = "Sheet2!A1"

# 添加一个UNC路径超链接
cell5 = sheet.Range[10, 2]
uncLink = sheet.HyperLinks.Add(cell5)
uncLink.Type = HyperLinkType.Unc
uncLink.TextToDisplay = "UNC路径超链接"
uncLink.Address = "\\\\server\\share\\file.txt"

# 设置字体并自动调整列宽
sheet.Range.Style.Font.FontName = "Arial"
sheet.Range.Style.Font.Size = 14
for i in range(sheet.Range.ColumnCount):
    sheet.AutoFitColumn(i + 1)

# 保存工作簿
workbook.SaveToFile("output/TextHyperlinkExcel.xlsx", FileFormat.Version2016)
workbook.Dispose()

结果

用Python插入超链接到Excel工作表中的图片

插入超链接到工作表中的图片需要先使用Worksheet.Pictures.Add()方法插入一张图片或使用Worksheet.Pictures.get_Item()获取一张图片,然后使用ExcelPicture.SetHyperLink(linkString: str, isExternal: bool)方法插入超链接到该图片即可。以下是操作步骤示例:

  1. 导入所需模块:WorkbookFileFormat
  2. 创建Workbook实例。
  3. 使用Workbook.Worksheets.get_Item()方法获取一个工作表。
  4. 使用Worksheet.Pictures.Add()添加一张图片到指定位置。
  5. 使用ExcelPicture.SetHyperLink()方法添加超链接到该图片。
  6. 使用Workbook.SaveToFile()方法保存工作簿。
  7. 释放资源。

代码示例

from spire.xls import Workbook, FileFormat

# 创建Workbook实例
workbook = Workbook()

# 获取第一个预设工作表
sheet = workbook.Worksheets.get_Item(0)

# 添加图片到指定位置
picture = sheet.Pictures.Add(3, 2, "image1.jpg")

# 添加超链接到该图片
picture.SetHyperLink("https://www.bing.com/", True)

# 保存工作簿
workbook.SaveToFile("output/PictureHyperlinkExcel.xlsx", FileFormat.Version2016)
workbook.Dispose()

结果

用Python修改Excel工作表中的超链接

我们可以使用CellRange.Hyperlinks.get_Item(0)方法直接从单元格获取指定超链接,或者使用Worksheet.Hyperlinks.get_Item()方法从工作表的超链接集合中获取超链接。然后,我们可以通过Hyperlink类下的属性对超链接的类型、地址和显示文本进行修改。以下是操作步骤:

  1. 导入所需模块:WorkbookFileFormat
  2. 创建Workbook实例。
  3. 使用Workbook.Worksheets.get_Item()方法获取一个工作表。
  4. 使用Worksheet.Range[]属性获取单元格并使用CellRange.Hyperlinks.get_Item(0)方法获取其中的超链接。也可以使用Worksheet.Hyperlinks.get_Item()方法从工作表的超链接集合中获取超链接。
  5. 通过Hyperlink.Type属性修改超链接类型,通过Hyperlink.Address修改超链接地址,以及通过Hyperlink.TextToDisplay属性修改超链接的展示文本。
  6. 使用Workbook.SaveToFile()方法保存工作簿。
  7. 释放资源。

代码示例

from spire.xls import Workbook, HyperLinkType

# 创建Workbook实例
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("output/TextHyperlinkExcel.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 获取单元格并获取其超链接
cell = sheet.Range[2, 2]
hyperlink = cell.Hyperlinks.get_Item(0)

# 也可以直接从工作表超链接集合获取超链接
# hyperlink = sheet.HyperLinks.get_Item(0)

# 修改超链接的类型、地址和显示文本
hyperlink.Type = HyperLinkType.File
hyperlink.Address = "C:\\Documents\\Document.pdf"
hyperlink.TextToDisplay = "示例文档"

# 保存文件
workbook.SaveToFile("output/ModifyHyperlinkExcel.xlsx")
workbook.Dispose()

结果

用Python删除Excel工作表中的超链接

我们可以使用Worksheet.Hyperlinks.RemoveAt()方法来删除工作表中的指定超链接,或使用Worksheet.Hyperlinks.Clear()方法来删除工作表中的所有超链接。以下是操作步骤示例:

  1. 导入所需模块:WorkbookFileFormat
  2. 创建Workbook实例。
  3. 使用Workbook.Worksheets.get_Item()方法获取一个工作表。
  4. 使用使用Worksheet.Hyperlinks.RemoveAt()方法来删除工作表中的指定超链接,或使用Worksheet.Hyperlinks.Clear()方法来删除工作表中的所有超链接。
  5. 使用Workbook.SaveToFile()方法保存工作簿。
  6. 释放资源。

代码示例

from spire.xls import Workbook

# 创建Workbook实例
workbook = Workbook()

# 载入Excel文件
workbook.LoadFromFile("output/TextHyperlinkExcel.xlsx")

# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)

# 删除第一个超链接
sheet.HyperLinks.RemoveAt(1)

# 删除所有超链接
# sheet.HyperLinks.Clear()

# 保存工作簿
workbook.SaveToFile("output/RemoveHyperlinkExcel.xlsx")
workbook.Dispose()

结果

本文演示了如何使用Python在Excel工作表中插入、修改及删除超链接。

以上就是使用Python实现在Excel工作表中添加、修改及删除超链接的详细内容,更多关于Python Excel添加、修改及删除超链接的资料请关注脚本之家其它相关文章!

相关文章

  • 使用Python从零搭建一个AI Agent的实战指南

    使用Python从零搭建一个AI Agent的实战指南

    2026年最火的概念之一就是AI Agent——让大模型不再只是聊天机器人,而是能自主规划、调用工具、完成复杂任务的智能体,本文用纯Python从零实现一个可用的Agent,不依赖任何框架,需要的朋友可以参考下
    2026-05-05
  • Python SQLAlchemy建立模型基础关系模式过程详解

    Python SQLAlchemy建立模型基础关系模式过程详解

    SQLAlchemy是Python编程语言下的一款开源软件。提供了SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行。SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQL数据库的量级和性能重要于对象集合
    2022-12-12
  • Python实现随机选择元素功能

    Python实现随机选择元素功能

    这篇文章主要为大家详细介绍了Python实现随机选择元素功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • python concurrent.futures模块的使用测试

    python concurrent.futures模块的使用测试

    大家都知道concurrent.futures 是 3.2 中引入的新模块,它为异步执行可调用对象提供了高层接口,今天通过本文给大家介绍python concurrent.futures模块的使用测试 ,感兴趣的朋友一起看看吧
    2021-07-07
  • Python对象的深拷贝和浅拷贝详解

    Python对象的深拷贝和浅拷贝详解

    这篇文章主要介绍了Python对象的深拷贝和浅拷贝详解,本文从Python核心编程2书中摘录而来,总结的比较精辟,需要的朋友可以参考下
    2014-08-08
  • Python内存泄漏和内存溢出的解决方案

    Python内存泄漏和内存溢出的解决方案

    这篇文章主要介绍了Python内存泄漏和内存溢出的解决方案,帮助大家维护后台进程,感兴趣的朋友可以了解下
    2020-09-09
  • Python密码学XOR算法编码流程及乘法密码教程

    Python密码学XOR算法编码流程及乘法密码教程

    这篇文章主要为大家介绍了Python密码学XOR流程及乘法密码教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python使用Tkinter制作一个进制转换工具

    Python使用Tkinter制作一个进制转换工具

    在平时工作学习当中,我们经常会编写一些简单的 Python GUI 工具,以此来完成各种各样的自动化任务,下面我们就来看看如何使用Python制作一个进制转换工具吧
    2024-01-01
  • python神经网络Pytorch中Tensorboard函数使用

    python神经网络Pytorch中Tensorboard函数使用

    这篇文章主要为大家介绍了python神经网络Pytorch中Tensorboard常用函数的使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    Python超有趣实例通过冒泡排序来实现LOL厄斐琉斯控枪

    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序
    2022-05-05

最新评论