excel 表格 sheet 切换

在项目实施过程中,经常需要使用 excel 表格,如果在操作 excel 时,碰到需要选择某一个 sheet, 而鼠标点击没有办法拾取到,而用点击的话,又因为 sheet 较多,隐藏起来了,怎么办?
最近就碰到这么一个需求,经过各种尝试终于解决了,现在就把解决方法分享出来。

首先需要获取该 excel 表格的所有 sheet 名称,并获取目标 sheet 在所有 sheet 里面的位置
然后获取 excel 当前激活的 sheet 名称,并获取该 sheet 在所有 sheet 的所有位置
再次计算得出激活状态 sheet 和目标 sheet 的差值
最后通过 ctrl + pagedow 快捷键切换到目标 sheet。

代码如下:

import openpyxl
excel_path = ''
work_book = openpyxl .load_workbook(excel_path)
sheet_name_list = work_book.sheetnames    # 获取所有sheet名字,得到sheet列表
print(sheet_name_list)

aim_index = 0    # 目标sheet的下标变量
for i in range(len(sheet_name_list)):
    if '数据' in sheet_name_list[i]:    # 根据目标sheet名称获取到sheet下标
        aim_index = i    # 获取到目标sheet的下标
print(aim_index)
active_sheet_name = work_book.active.title     # 获取当前激活状态的sheet名称
active_sheet = work_book.active.title    # 获取当前激活状态的sheet对象
active_sheet_list = work_book.worksheets    # 获取所有sheet对象列表
active_index = active_sheet_list.index(active_sheet)   # 获取当前激活状态的sheet下标

step = active_index - aim_index   # 得当前sheet到目标sheet的步数
print('step:%s'%step)

打开 excel 表格后,然后按照下面的组件就可以切换到自己想要的那个 sheet 了
excel 表格 sheet 切换

(完)