gpt4 book ai didi

python - 超链接无法通过 openpyxl 工作

转载 作者:行者123 更新时间:2023-11-28 19:10:25 25 4
gpt4 key购买 nike

我在 xlsx 电子表格中使用以下代码片段进行超链接。

  1. 从 H2、H3、H4 中读取 xlsx 的文件名...
  2. 在当前文件夹(脚本运行的位置)中搜索文件
  3. 使用现有内容的搜索路径创建超链接。

问题是来自 openpyxl 的 .hyperlink 甚至不能用 =HYPERLINK("Path", "Real File Name") 写

提前致谢。

import os
import openpyxl

ColumnNum = 6
RowNum = 2
rootPath = ""

def FindPathofFile(filename):
for root, dirs, files in os.walk(rootPath):
for file in files:
if filename in file:
return(os.path.join(root, file))

rootPath =input("Enter the Parent Path, Where the html files are present\n");
SpreadSheetName = input("Enter the SwCTS spread sheet name, in which Hyperlinks to be created\n");
wb = load_workbook(SpreadSheetName);
ws = wb.get_sheet_by_name(input("Enter the SwCTS Tab Name, in which Hyperlinks to be created\n"));
columnname = "H"+str(RowNum);
valueofCell = ws[columnname].value;
while True:
if valueofCell:
link = FindPathofFile(valueofCell);
print ('=HYPERLINK("'+str(link)+'","'+str(valueofCell)+'")');
#ws.cell(row=RowNum, column=ColumnNum).hyperlink = link;
ws.cell(row=RowNum, column=ColumnNum).value ='=HYPERLINK("'+str(link)+'","'+str(valueofCell)+'")';
RowNum = RowNum + 1;
columnname = "H"+str(RowNum);
valueofCell = ws[columnname].value;
else:
break;
wb.save(SpreadSheetName);

最佳答案

好吧,我可以做到这一点。虽然没有直接的方法来构建超链接,但在您的情况下我们可以这样做。事实上,我没有检查你程序的完整性。我相信你知道你还在做什么。我能够使用下面的代码建立一个指向现有文件的超链接。我看到我所拥有的和你所拥有的之间在逻辑上只有很小的差异。即缺少“样式”属性。

wb=openpyxl.Workbook()
s = wb.get_sheet_by_name('Sheet')
s['B4'].value = '=HYPERLINK("C:\\Users\\Manoj.Waghmare\\Desktop\\script.txt", "newfile")'
s['B4'].style = 'Hyperlink'
wb.save('trial.xlsx')

将样式属性称为“超链接”是关键。我拥有的所有其他代码对您来说可能并不重要。否则 style 属性的值为“Normal”奇怪的是即使没有样式属性,我们工作的超链接也只是缺少样式!当然。虽然奇怪,但我见过更奇怪的东西。希望这会有所帮助。

关于python - 超链接无法通过 openpyxl 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com