使用Python實現(xiàn)在Excel工作表中添加、修改及刪除超鏈接
引言
在創(chuàng)建Excel工作簿時,內(nèi)部文檔的互鏈、報告自動化生成或是創(chuàng)建外部資源快速訪問路徑是比較常見的需求。通過超鏈接,我們可以將工作表與外部資源、文件或網(wǎng)頁無縫連接,提升數(shù)據(jù)的交互性和可讀性。無論是為了快速導(dǎo)航、動態(tài)更新內(nèi)容,還是為了整合多種數(shù)據(jù)源,掌握如何自動化管理超鏈接顯得至關(guān)重要。使用Python,用戶可以輕松批量添加、修改或刪除超鏈接,大幅提高效率并減少手動操作的出錯率。
本文將介紹如何使用Python實現(xiàn)在Excel工作表中對超鏈接進行添加、修改及刪除的操作。
本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install spire.xls。
用Python在Excel工作表中插入超鏈接
在Excel工作表中,添加文本超鏈接通常是基于單元格進行的。添加文本超鏈接到指定單元格后,單元格中的所有文本或數(shù)值將作為超鏈接的一部分。我們可以使用該庫中的Worksheet.Hyperlinks.Add(cell: CellRange)方法來添加文本超鏈接到工作表中的指定單元格,并通過Hyperlink類下的屬性對其類型和鏈接目標(biāo)進行設(shè)置。以下是插入網(wǎng)頁、郵箱、外部文檔、文檔內(nèi)位置以及UNC地址超鏈接到Excel單元格文本的操作步驟:
- 導(dǎo)入所需模塊:
Workbook、HyperlinkType和FileFormat。 - 創(chuàng)建
Workbook實例。 - 使用
Workbook.Worksheets.get_Item()方法獲取一個工作表。 - 使用
Worksheet.Range[]屬性獲取單元格。 - 使用
Worksheet.Hyperlinks.Add(cell: CellRange)方法在單元格中插入超鏈接。 - 通過
Hyperlink.Type屬性設(shè)置超鏈接類型。 - 通過
Hyperlink.Address設(shè)置鏈接地址。 - 通過
Hyperlink.TextToDisplay設(shè)置超鏈接展示文本。 - 使用
Workbook.SaveToFile()方法保存工作簿。 - 釋放資源。
代碼示例
from spire.xls import Workbook, HyperLinkType, FileFormat
# 創(chuàng)建Workbook實例
workbook = Workbook()
# 獲取第一個工作表
sheet = workbook.Worksheets.get_Item(0)
# 添加一個網(wǎng)頁超鏈接
cell1 = sheet.Range[2, 2]
webLink = sheet.HyperLinks.Add(cell1)
webLink.Type = HyperLinkType.Url
webLink.TextToDisplay = "網(wǎng)頁超鏈接"
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"
# 添加一個文檔內(nèi)部超鏈接
cell4 = sheet.Range[8, 2]
internalLink = sheet.HyperLinks.Add(cell4)
internalLink.Type = HyperLinkType.Workbook
internalLink.TextToDisplay = "文檔內(nèi)部超鏈接"
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"
# 設(shè)置字體并自動調(diào)整列寬
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()
結(jié)果

用Python插入超鏈接到Excel工作表中的圖片
插入超鏈接到工作表中的圖片需要先使用Worksheet.Pictures.Add()方法插入一張圖片或使用Worksheet.Pictures.get_Item()獲取一張圖片,然后使用ExcelPicture.SetHyperLink(linkString: str, isExternal: bool)方法插入超鏈接到該圖片即可。以下是操作步驟示例:
- 導(dǎo)入所需模塊:
Workbook和FileFormat。 - 創(chuàng)建
Workbook實例。 - 使用
Workbook.Worksheets.get_Item()方法獲取一個工作表。 - 使用
Worksheet.Pictures.Add()添加一張圖片到指定位置。 - 使用
ExcelPicture.SetHyperLink()方法添加超鏈接到該圖片。 - 使用
Workbook.SaveToFile()方法保存工作簿。 - 釋放資源。
代碼示例
from spire.xls import Workbook, FileFormat
# 創(chuàng)建Workbook實例
workbook = Workbook()
# 獲取第一個預(yù)設(shè)工作表
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()
結(jié)果

用Python修改Excel工作表中的超鏈接
我們可以使用CellRange.Hyperlinks.get_Item(0)方法直接從單元格獲取指定超鏈接,或者使用Worksheet.Hyperlinks.get_Item()方法從工作表的超鏈接集合中獲取超鏈接。然后,我們可以通過Hyperlink類下的屬性對超鏈接的類型、地址和顯示文本進行修改。以下是操作步驟:
- 導(dǎo)入所需模塊:
Workbook和FileFormat。 - 創(chuàng)建
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
# 創(chuàng)建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()
結(jié)果

用Python刪除Excel工作表中的超鏈接
我們可以使用Worksheet.Hyperlinks.RemoveAt()方法來刪除工作表中的指定超鏈接,或使用Worksheet.Hyperlinks.Clear()方法來刪除工作表中的所有超鏈接。以下是操作步驟示例:
- 導(dǎo)入所需模塊:
Workbook和FileFormat。 - 創(chuàng)建
Workbook實例。 - 使用
Workbook.Worksheets.get_Item()方法獲取一個工作表。 - 使用使用
Worksheet.Hyperlinks.RemoveAt()方法來刪除工作表中的指定超鏈接,或使用Worksheet.Hyperlinks.Clear()方法來刪除工作表中的所有超鏈接。 - 使用
Workbook.SaveToFile()方法保存工作簿。 - 釋放資源。
代碼示例
from spire.xls import Workbook
# 創(chuàng)建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()
結(jié)果

本文演示了如何使用Python在Excel工作表中插入、修改及刪除超鏈接。
以上就是使用Python實現(xiàn)在Excel工作表中添加、修改及刪除超鏈接的詳細(xì)內(nèi)容,更多關(guān)于Python Excel添加、修改及刪除超鏈接的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Python從零搭建一個AI Agent的實戰(zhàn)指南
2026年最火的概念之一就是AI Agent——讓大模型不再只是聊天機器人,而是能自主規(guī)劃、調(diào)用工具、完成復(fù)雜任務(wù)的智能體,本文用純Python從零實現(xiàn)一個可用的Agent,不依賴任何框架,需要的朋友可以參考下2026-05-05
Python?SQLAlchemy建立模型基礎(chǔ)關(guān)系模式過程詳解
SQLAlchemy是Python編程語言下的一款開源軟件。提供了SQL工具包及對象關(guān)系映射(ORM)工具,使用MIT許可證發(fā)行。SQLAlchemy“采用簡單的Python語言,為高效和高性能的數(shù)據(jù)庫訪問設(shè)計,實現(xiàn)了完整的企業(yè)級持久模型”。SQL數(shù)據(jù)庫的量級和性能重要于對象集合2022-12-12
python concurrent.futures模塊的使用測試
大家都知道concurrent.futures 是 3.2 中引入的新模塊,它為異步執(zhí)行可調(diào)用對象提供了高層接口,今天通過本文給大家介紹python concurrent.futures模塊的使用測試 ,感興趣的朋友一起看看吧2021-07-07
Python內(nèi)存泄漏和內(nèi)存溢出的解決方案
這篇文章主要介紹了Python內(nèi)存泄漏和內(nèi)存溢出的解決方案,幫助大家維護后臺進程,感興趣的朋友可以了解下2020-09-09
Python密碼學(xué)XOR算法編碼流程及乘法密碼教程
這篇文章主要為大家介紹了Python密碼學(xué)XOR流程及乘法密碼教程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python使用Tkinter制作一個進制轉(zhuǎn)換工具
在平時工作學(xué)習(xí)當(dāng)中,我們經(jīng)常會編寫一些簡單的 Python GUI 工具,以此來完成各種各樣的自動化任務(wù),下面我們就來看看如何使用Python制作一個進制轉(zhuǎn)換工具吧2024-01-01
python神經(jīng)網(wǎng)絡(luò)Pytorch中Tensorboard函數(shù)使用
這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Pytorch中Tensorboard常用函數(shù)的使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python超有趣實例通過冒泡排序來實現(xiàn)LOL厄斐琉斯控槍
冒泡排序是一種簡單的排序算法,它也是一種穩(wěn)定排序算法。其實現(xiàn)原理是重復(fù)掃描待排序序列,并比較每一對相鄰的元素,當(dāng)該對元素順序不正確時進行交換。一直重復(fù)這個過程,直到?jīng)]有任何兩個相鄰元素可以交換,就表明完成了排序2022-05-05

