我创建了一个包含约50个工作表的excelfile。所有信息都在第一个工作表的摘要中,但是有关详细信息,人们可以在工作表中查看源代码。
我认为在工作表中建立内部链接会很好(人们想知道为什么在2016年7月的工作表中销售下降了等等)。
但是,尽管我似乎能够创建网站的超链接,但我只想使其在此excel文件中工作。
这有可能吗?
答案 0 :(得分:1)
这个问题更多地是关于Excel而不是Python或编程,但是您必须使用#
,例如:
ws = wb['Sheet1']
cell = ws.cell('A1')
cell.value = '=HYPERLINK("#Sheet2!A2")'
您还可以为单元格提供人性化的显示文字:
cell.value = '=HYPERLINK("#Sheet2!A2", "click here")'
将在Sheet1的单元格A1中创建到Sheet2的单元格A2的链接。
两个单元格可能在同一张纸上,也可能不在同一张纸上。
#
告诉Excel这是到本地位置的超链接,就像#
被用作HTML的锚点。
答案 1 :(得分:0)
实际上,您可以添加本地超链接,但必须控制位置。规格说明了location属性:
目标内的位置。如果目标是工作簿(或此工作簿) 这应指工作表和单元格或定义的名称。也可以是 HTML锚(如果目标是HTML文件)。
我认为这可以通过将target设置为None
并将ref
设置为单元格引用来实现。
答案 2 :(得分:0)
这是一个可以直接用于在同一Excel中创建到工作表的超链接的功能:
def create_hyperlink(ws, at_cell, sheet_name, cell_ref='A1', display_name=None):
if display_name is None:
display_name = sheet_name
to_location = "'{0}'!{1}".format(sheet_name, cell_ref)
ws[at_cell].hyperlink = Hyperlink(display=display_name, ref=at_cell, location=to_location)
ws[at_cell].value = display_name
ws[at_cell].font = Font(u='single', color=colors.BLUE)
ws:将在其中创建链接的工作表
at_cell:将在其中创建链接的单元格位置。例如'A1'
sheet_name:将创建链接的工作表名称。例如'Sheet1'