1 from openpyxl import load_workbook
2 # from openpyxl.drawing.text import Paragraph, RegularTextRun
3 from openpyxl.worksheet.hyperlink import Hyperlink
4 # from openpyxl.utils import get_column_letter
5
6 # 打开现有的工作簿
7 workbook = load_workbook('abc.xlsx')
8
9 # 获取所有工作表的名称
10 sheet_names = workbook.sheetnames
11
12 # 添加一个新的工作表,并将其移至开头
13 new_sheet = workbook.create_sheet('目录', 0)
14
15 # 获取新工作表的位置信息
16 # new_sheet_index = workbook.sheetnames.index('New Worksheet') + 1
17
18 # 在新增工作表中添加跳转到每个其他工作表的链接
19 for i, sheet_name in enumerate(sheet_names):
20 # 在新增工作表中插入链接
21 link_address = f"'{sheet_name}'!A1" # 获取对应的链接地址,此处假设跳转到其他工作表的A1单元格
22 cell = new_sheet.cell(row=i+1, column=1) # 获取对应的单元格
23 cell.value = f"跳转到 {sheet_name}"
24 cell.hyperlink = Hyperlink(ref=cell.coordinate, location=link_address) # 设置跳转链接
25
26 # 在其他工作表中添加跳转到新增工作表的链接
27 hyperlink_to_new_sheet = Hyperlink(ref=f"'{new_sheet.title}'!A{cell.row}", location=f"'{new_sheet.title}'!A{cell.row}")
28
29 # 创建超链接文本
30 text = "返回总表"
31
32 # # 创建文本段落
33 # run = RegularTextRun()
34 # run.text = text
35
36 # 将超链接和文本添加到工作表中
37 worksheet = workbook[sheet_name]
38 max_column = worksheet.max_column
39 return_cell = worksheet.cell(row=1, column=max_column+1)
40 return_cell.value = text
41 return_cell.hyperlink = hyperlink_to_new_sheet
42
43 # 保存工作簿
44 workbook.save('your_file.xlsx')