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 = 2 # 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 @   ☆星空物语☆  阅读(765)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2021-10-10 Airtest API精讲之touch()
点击右上角即可分享
微信分享提示