【发布时间】:2015-07-18 14:00:14
【问题描述】:
我正在使用 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。
【问题讨论】:
-
为什么要链接到单元格值?您应该只链接到该范围。
-
我删除了它,但唯一的原因是因为它有效......(因为它创建了一个超链接)。它实际上并没有把我带到另一张纸上。
-
实际上,我把它放在那里;如果我取出'.value',我会得到错误...:'cannot serialize
-
使用带有 Interop 或 VBA 的 .Net。问题是超链接对象中有两个属性,一个是
SubAddress,另一个是Address。SubAddress用于内部引用,openpyxl仅写入Address属性。 -
XlsxWriter 模块通过
write_url()方法和internal:URI 支持到工作簿中单元格的超链接。
标签: python excel hyperlink openpyxl