引言
在创建excel工作簿时,内部文档的互链、报告自动化生成或是创建外部资源快速访问路径是比较常见的需求。通过超链接,我们可以将工作表与外部资源、文件或网页无缝连接,提升数据的交互性和可读性。无论是为了快速导航、动态更新内容,还是为了整合多种数据源,掌握如何自动化管理超链接显得至关重要。使用python,用户可以轻松批量添加、修改或删除超链接,大幅提高效率并减少手动操作的出错率。
本文将介绍如何使用python实现在excel工作表中对超链接进行添加、修改及删除的操作。
本文所使用的方法需要用到spire.xls for python,pypi:pip install spire.xls
。
用python在excel工作表中插入超链接
在excel工作表中,添加文本超链接通常是基于单元格进行的。添加文本超链接到指定单元格后,单元格中的所有文本或数值将作为超链接的一部分。我们可以使用该库中的worksheet.hyperlinks.add(cell: cellrange)
方法来添加文本超链接到工作表中的指定单元格,并通过hyperlink
类下的属性对其类型和链接目标进行设置。以下是插入网页、邮箱、外部文档、文档内位置以及unc地址超链接到excel单元格文本的操作步骤:
- 导入所需模块:
workbook
、hyperlinktype
和fileformat
。 - 创建
workbook
实例。 - 使用
workbook.worksheets.get_item()
方法获取一个工作表。 - 使用
worksheet.range[]
属性获取单元格。 - 使用
worksheet.hyperlinks.add(cell: cellrange)
方法在单元格中插入超链接。 - 通过
hyperlink.type
属性设置超链接类型。 - 通过
hyperlink.address
设置链接地址。 - 通过
hyperlink.texttodisplay
设置超链接展示文本。 - 使用
workbook.savetofile()
方法保存工作簿。 - 释放资源。
代码示例
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)方法插入超链接到该图片即可。以下是操作步骤示例:
- 导入所需模块:
workbook
和fileformat
。 - 创建
workbook
实例。 - 使用
workbook.worksheets.get_item()
方法获取一个工作表。 - 使用
worksheet.pictures.add()
添加一张图片到指定位置。 - 使用
excelpicture.sethyperlink()
方法添加超链接到该图片。 - 使用
workbook.savetofile()
方法保存工作簿。 - 释放资源。
代码示例
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类下的属性对超链接的类型、地址和显示文本进行修改。以下是操作步骤:
- 导入所需模块:
workbook
和fileformat
。 - 创建
workbook
实例。 - 使用
workbook.worksheets.get_item()
方法获取一个工作表。 - 使用
worksheet.range[]
属性获取单元格并使用cellrange.hyperlinks.get_item(0)
方法获取其中的超链接。也可以使用worksheet.hyperlinks.get_item()
方法从工作表的超链接集合中获取超链接。 - 通过
hyperlink.type
属性修改超链接类型,通过hyperlink.address
修改超链接地址,以及通过hyperlink.texttodisplay
属性修改超链接的展示文本。 - 使用
workbook.savetofile()
方法保存工作簿。 - 释放资源。
代码示例
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()
方法来删除工作表中的所有超链接。以下是操作步骤示例:
- 导入所需模块:
workbook
和fileformat
。 - 创建
workbook
实例。 - 使用
workbook.worksheets.get_item()
方法获取一个工作表。 - 使用使用
worksheet.hyperlinks.removeat()
方法来删除工作表中的指定超链接,或使用worksheet.hyperlinks.clear()
方法来删除工作表中的所有超链接。 - 使用
workbook.savetofile()
方法保存工作簿。 - 释放资源。
代码示例
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添加、修改及删除超链接的资料请关注代码网其它相关文章!
发表评论