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!
---------------------------------------------------------------------------------
关注微信公众号即可在手机上查阅,并可接收更多测试分享~


浙公网安备 33010602011771号