python - 如何在同一工作簿中创建指向不同 Excel 工作表的超链接

标签 python excel hyperlink openpyxl

我正在使用适用于 Python 的模块 openpyxl,并尝试创建一个超链接,将我带到同一个 Excel 工作簿中的不同选项卡。执行类似于以下的操作会创建超链接;然而,当我点击它时,它告诉我它无法打开文件。

from openpyxl import Workbook

wb = Workbook()
first_sheet = wb.create_sheet(title='first')
second_sheet = wb.create_sheet(title='second')

first_sheet['A1'] = "hello"
second_sheet['B2'] = "goodbye"

link_from = first_sheet['A1']
link_to = second_sheet['B2'].value

link_from.hyperlink = link_to

wb.save("C:/somepath/workbook.xlsx")

我假设问题出在“link_to”的值上;但是,我不知道需要更改什么或必须编写什么样的路径。

我使用的是 Python 2.7.6 和 Excel 2013。

最佳答案

我找到了一种方法。

假设一个名为“workbookEx.xlsx”的 .xlsx 文件包含两个名为“sheet1”和“sheet2”的工作表并且需要一个链接从“sheet1”的一个单元格(A1)到“sheet2”的另一个单元格(E5) :

from openpyxl import load_workbook

wb = load_workbook(workbookEx.xlsx) 
ws = wb.get_sheet_by_name("sheet1")

link = "workbookEx.xlsx#sheet2!E5"

ws.cell(row=1, column=1).hyperlink = (link)

secret 是“#”,Excel 不显示,但它使用“#”表示相同的文件链接,我只需要将在 Excel 中创建的相同文件链接复制到 Word 文档即可看到“#” .

也可以省略文件名,即链接事件文档的工作表只需使用:_cell.hyperlink = '#sheetName!A1'

要命名您刚刚创建的链接,只需将单元格值设置为所需的字符串:_cell.value = 'Linkname'

关于python - 如何在同一工作簿中创建指向不同 Excel 工作表的超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30110511/

相关文章:

Python pandas : Taking values from one database, 为它们分配另一个值并在第二个数据库中替换它们

python - 如何使用 CSV 中的列追加目录中的所有文件?

vba - 使用 VBA 将过滤后的数据复制到另一个工作表

java - java中多个表数据导出到同一个excel工作表的多个工作表

javascript - 在少数几个上制作图像按钮

javascript - 如果链接在父元素内,我如何更改父元素的类?

javascript - 我怎样才能: Replace all instances of an old 'base' href on archived website with a new one for quick changeover?

python - Django - 将使用 xhtml2pdf 生成的 pdf 文件保存到磁盘

Python - 如何按字符匹配列表元素

excel - 如何在Excel中使用训练好的深度学习模型进行预测?