python openpyxl激活sheet后会有2个sheet页被激活解决方案

python openpyxl激活sheet后会有2个sheet页被激活解决方案
最近在写一个脚本,要求激活指定sheet并保存。比如原excel有5个sheet页,sheet1-sheet5,最后一次保存的是sheet3,即默认激活的是sheet3,现在要通过脚本激活sheet1并保存。
很简单,读取Excel,将激活sheet设置为sheet,保存。

import openpyxl

workbook = openpyxl.load_workbook('your_file.xlsx')
workbook.active = 0
workbook.save('your_file.xlsx')

但此时实际打开Excel后,效果如图

 

 

就是虽然用代码激活了sheet1,但原来激活的那个sheet页也还是激活状态。搜了一圈也没找到解决办法,最后还是在stackoverflow上找到了解法办法,直接上代码:

import openpyxl

workbook = openpyxl.load_workbook('your_file.xlsx')
workbook.active = # making the third sheet active

for sheet in workbook:
    if sheet.title == 'your_sheet_name':
        sheet.sheet_view.tabSelected = True
    else:
        sheet.sheet_view.tabSelected = False

workbook.save('your_file.xlsx')

技术疑难杂症还得是Google!

 

---------------------------------------------------------------------------------

关注微信公众号即可在手机上查阅,并可接收更多测试分享~

posted @ 2022-10-10 22:12  ☆星空物语☆  阅读(794)  评论(0)    收藏  举报