如何使用xlwings库为Excel表格的单元格创建超链接----关于Python里xlwings库对Excel表格的操作(三十九)

发布时间:2024年01月21日

? ? ? ?这篇小笔记主要记录【如何使用xlwings库为Excel表格的单元格创建超链接】。前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。
【目录部分内容如下】【点击此处可进入目录】
(1)如何安装导入xlwings库;
(2)如何在Wps下使用xlwings中使用WPS对表格操作;
(3)如何安装导入xlwings库、如何用xlwings打开要操作的Excel表格;
(4)如何使用xlwings对Excel表格数据进行读取操作;
(5)如何使用xlwings对Excel表格进行“保存”或“另存为”操作;
(6) 如何使用xlwings对Excel表格进行写入数据操作;
(7)如何使用xlwings向Excel表格中写入Excel公式;
(8)如何使用xlwings库中的“name"函数和“replace”函数对工作表进行改名;
。。。。。。等等

【如何使用xlwings库为Excel表格的单元格创建超链接】#要注意大小写

(1)URL_G2=Work_Sheet.range('G2').hyperlink

# “Work_Sheet”为当前激活的工作表;

# “range('G2')”要读取超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);

# “hyperlink”读取单元格的超链接并赋值给“URL_G2“。

(2)Work_Sheet.range('G4').add_hyperlink(URL,Work_Sheet.range('G4').value)

# “Work_Sheet”为当前激活的工作表;

# “range('G3')”要创建超链接的单元格;

# “add_hyperlink('超链接的网址或文件地址','这有超链接单元格显示的文本内容')”如果只有网址一个参数时,这个网址会代替原单元格内容。

# “Work_Sheet.range('G4').value”把原“G4”单元格的文本读取出来作为超链接显示的文本。

(3)Work_Sheet.range('G5').api.Hyperlinks.Add(Anchor=Work_Sheet.range('G5').api,Address=URL,TextToDisplay=Work_Sheet.range('G5').value)

# “Work_Sheet”为当前激活的工作表;

# “range('G5')”要创建超链接的单元格;

# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;

# “Hyperlinks.Add(Anchor=选取要操作的单元格,Address=超链接网址,TextToDisplay=有超链接单元格显示的文本内容')”如果只有网址一个参数时,这个网址会代替原单元格内容。

# “Work_Sheet.range('G5').value”把原“G4”单元格的文本读取出来作为超链接显示的文本。

(4)Work_Sheet.range('G6').api.Hyperlinks.Delete()

# “Work_Sheet”为当前激活的工作表;

# “range('G4)”要取消超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);

# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;

# “Hyperlinks.Delete()”取消单元格的超链接。

【举例说说更直观】

#【如何使用xlwings库为Excel表格的单元格创建超链接】
import xlwings as xw
app=xw.App(visible=False,add_book=False)
app.display_alerts=False               #关闭各种提示信息,可以提高运行速度
File_Name='E:/素材/学生成绩表.xls'
#打开要处理的Excel文件名
Work_Book=app.books.open(File_Name)      
#打开要处理的Excel文件中的工作簿
Work_Sheet=Work_Book.sheets[0]      
#打开要处理的Excel工作簿中的工作表;
#“[0]”是指定打开最靠前的第1份工作表,也可以把“0”写成要打开的指定要打开的“工作表的名称”;
#现在只打开这一个工作表也相当于激活这工作表,后面没有打开激活另一工作表,则所有操作只对现这工作表起作用。

URL_G2=Work_Sheet.range('G2').hyperlink
# “Work_Sheet”为当前激活的工作表;
# “range('G2')”要读取超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);
# “hyperlink”读取单元格的超链接。
print(f'G2单元格的超链接:{URL_G2}')
print()

URL='https://blog.csdn.net/AAA000666_666000/article/details/135067570?spm=1001.2014.3001.5501'  
# 为单元格创建超链接准备准备跳转的网址(替换为想要链接到的网址即可);
Work_Sheet.range('G3').add_hyperlink(URL)
# “Work_Sheet”为当前激活的工作表;
# “range('G3')”要创建超链接的单元格;
# “add_hyperlink('超链接的网址或文件地址','这有超链接单元格显示的文本内容')”如果只有网址一个参数时,这个网址会代替原单元格内容。
URL_G3=Work_Sheet.range('G3').hyperlink
# “Work_Sheet”为当前激活的工作表;
# “range('G3)”要读取超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);
# “hyperlink”读取单元格的超链接。
print(f'G3单元格的超链接:{URL_G3}')
print()

Work_Sheet.range('G4').add_hyperlink(URL,Work_Sheet.range('G4').value)
# “Work_Sheet”为当前激活的工作表;
# “range('G3')”要创建超链接的单元格;
# “add_hyperlink('超链接的网址或文件地址','这有超链接单元格显示的文本内容')”如果只有网址一个参数时,这个网址会代替原单元格内容。
# “Work_Sheet.range('G4').value”把原“G4”单元格的文本读取出来作为超链接显示的文本。
URL_G4=Work_Sheet.range('G4').hyperlink
# “Work_Sheet”为当前激活的工作表;
# “range('G4)”要读取超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);
# “hyperlink”读取单元格的超链接。
print(f'G4单元格的超链接:{URL_G4}')
print()

Work_Sheet.range('G5').api.Hyperlinks.Add(Anchor=Work_Sheet.range('G5').api,Address=URL,TextToDisplay=Work_Sheet.range('G5').value)
# “Work_Sheet”为当前激活的工作表;
# “range('G5')”要创建超链接的单元格;
# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;
# “Hyperlinks.Add(Anchor=选取要操作的单元格,Address=超链接网址,TextToDisplay=有超链接单元格显示的文本内容')”如果只有网址一个参数时,这个网址会代替原单元格内容。
# “Work_Sheet.range('G5').value”把原“G4”单元格的文本读取出来作为超链接显示的文本。
URL_G5=Work_Sheet.range('G5').hyperlink
# “Work_Sheet”为当前激活的工作表;
# “range('G5)”要读取超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);
# “hyperlink”读取单元格的超链接。
print(f'G5单元格的超链接:{URL_G5}')
print()

Work_Sheet.range('G6').api.Hyperlinks.Delete()
# “Work_Sheet”为当前激活的工作表;
# “range('G4)”要取消超链接的单元格(注:这单元格必须要有超链接才能读取,否则出错);
# “api”是指使用win32com与Excel交互,不能省;也就是Xlwings库与VBA的链接;要注意大小写及Api\api\api[0]\api[1]不同的地方;
# “Hyperlinks.Delete()”取消单元格的超链接。
print()

Work_Book.save()
#保存改动的工作簿。若无保存,则上述操作会随着工作簿的关闭而作废不保存。
Work_Book.close()
#关闭工作簿。
app.quit()
#退出Office软件,不驻留后台。

【运行前的表格】

【运行后的表格】

【终端显示的结果】

文章来源:https://blog.csdn.net/AAA000666_666000/article/details/135727191
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。