我尝试使用以下代码从excel工作表中读取超链接信息:
import os
import sys
import xlwings as xw
path = os.path.abspath(os.path.dirname(sys.argv[0]))
fn = os.path.join(path, "inp.xlsx")
wb = xw.Book (fn)
ws1 = wb.sheets["MainOverview"]
val = ws1["H18"].value
inpLink = ws1["H18"].hyperlink
print(f"{val}: {inpLink}")
val = ws1["I18"].value
inpLink = ws1["I18"].hyperlink
print(f"{val}: {inpLink}")
在单元格H18中,有一个指向文档中另一个位置/工作表的链接-请参见随附的在单元格中悬停链接时显示的信息:
在单元格I18中,我有一个网站链接-附加了吸尘信息:
但是当我运行程序时,我只得到这样的输出:
View Findings:
Google: https://www.google.com/
所以我只得到网站链接的链接信息,而不是来自单元格H18的文件链接信息。
如何从单元格H18获取完整的文件链接(file:///C:\DEV...)?
1条答案
按热度按时间qni6mghb1#
您需要更深入地挖掘以从API获取Address和SubAddress。
如果超链接是内部的,就像H18一样,那么地址将是空白的,子地址将只包含内部详细信息:工作表名称和单元格。
所以H18只会回来;
DeadLogic!A1
链接的路径显然是您打开的工作簿的路径。
I18是一个外部链接,应该只在地址字段中返回一个值,即:
https://www.google.com/
上面的代码示例将显示;