首页 > 编程语言 >python给多页excel工作表写跳转目录及回转链接

python给多页excel工作表写跳转目录及回转链接

时间:2023-07-04 20:56:12浏览次数:54  
标签:表写 sheet python cell column 跳转 workbook new

 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')

 

标签:表写,sheet,python,cell,column,跳转,workbook,new
From: https://www.cnblogs.com/oceanbkywind/p/17526966.html

相关文章

  • python之pip
    #####################   查看当前环境已经安装了哪些包:piplist   查看安装包详情  安装pip_search    使用pip_search           ########################......
  • python索引
    变量名[]正向数时是从零开始,反向是从-1开始切片变量[头下标:尾下标](不包括尾下标所代表的字符)变量名[:]:不指定头下标和尾下标时代表获取整个字符串变量名[1:]:不指定尾下标时代表从指定的头下标到末尾变量名[:5]:不指定头下标时代表从头开始到尾下标指定的字符但不包含尾下标所......
  • python网络编程 socket
    基于TCP协议的套接字编程(socket编程)什么是Socket呢?我们经常把Socket翻译为套接字,Socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。套接字的分类:AF_UNIX:用在局域网中AF_INET:用在互联网中"""客户端和......
  • 为组态王编写的 时间段 选择 控件 python
    日历控件使用说明这是一个专门为组态软件(如组态王,力控等)设计的时间选择控件,用于选择一个时间段,来进行数据报表的查询.控件实际由2部分组成,1个UI程序,和1个modbusTCP从机服务器.从机服务器用于UI程序和组态软件的通信.  日期部分,时间间隔部分,支持滚轮改变日期......
  • Python | yield关键字详解
    yield关键字的说明yield是Python中的一个关键字,它通常与生成器函数一起使用。yield就是保存当前程序执行状态。你用for循环的时候,每次取一个元素的时候就会计算一次。用yield的函数叫generator,和iterator一样,它的好处是不用一次计算所有元素,而是用一次算一次,可以节省......
  • python函数外变量传到函数内处理后不改变函数外的变量,copy模块使用
    线上代码a=[1,2,3]defabc(a):a.remove(1)abc(a)print(a)这段代码先指定了一个a变量是个list,又写了一个abc函数,功能是把外面传进来的list里面的1这个值去掉按理说在函数内的执行只应该属于函数内的变化,但是实际打印结果是[2,3],函数把外面变量的1删掉了这不是我想要......
  • python接口自动化封装导出excel方法和读写excel数据
    一、首先需要思考,我们在页面导出excel,用python导出如何写入文件的封装前需要确认python导出excel接口返回的是一个什么样的数据类型如下:我们先看下不对返回结果做处理,直接接收数据类型是一个对象,无法获取返回值此时我们需要对返回数据做处理,如下;response.text#响应文本数据......
  • Python 元组转换为列表
    1.直接将元组转为列表tup=(21,19,11,46,18)print(tup)lt=list(tup)print(lt)输出(21,19,11,46,18)[21,19,11,46,18]2.将元组列表转为列表#Listoftupleinitializationlistoftuples=[("Apple",1),("Microsoft",2),("Amazon",......
  • python计算某字符出现次数
    count()方法用于统计字符串里某个字符或子字符串出现的次数.st1=input().upper()st2=input().upper()print(st1.count(st2))tips:只要将所有字符串统一转化为大写或者小写,计算次数即可。upper()全部转化为大写lower()全部转化为小写另:str.count(sub,start=0,en......
  • Python中对open读取文件内容时的mode模式解析
    1.Python可以使用open函数来实现文件的打开,关闭,读写操作;Python3中的open函数定义为:open(file,mode='r',buffering=None,encoding=None,errors=None,newline=None,closefd=True)其中mode列表为:'r'#openforreading(default)'w'#openforwriting,truncatin......