使用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工作表中添加、修改及刪除超鏈接的詳細內(nèi)容,更多關(guān)于Python Excel添加、修改及刪除超鏈接的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python利用itchat對微信中好友數(shù)據(jù)實現(xiàn)簡單分析的方法
Python 熱度一直很高,我感覺這就是得益于擁有大量的包資源,極大的方便了開發(fā)人員的需求。下面這篇文章主要給大家介紹了關(guān)于Python利用itchat實現(xiàn)對微信中好友數(shù)據(jù)進行簡單分析的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下。2017-11-11Python?Web開發(fā)通信協(xié)議WSGI?uWSGI?uwsgi使用對比全面介紹
這篇文章主要為大家介紹了Python?Web開發(fā)通信協(xié)議WSGI?uWSGI?uwsgi使用對比全面介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-12-12odoo?為可編輯列表視圖字段搜索添加查詢過濾條件的詳細過程
Odoo 是基于 Python 寫的一系列開源商業(yè)應(yīng)用程序套裝,前身是 OpenERP,這篇文章主要介紹了odoo?為可編輯列表視圖字段搜索添加查詢過濾條件,需要的朋友可以參考下2023-02-02