首页 文章

openpyxl - 活动工作表已分组到选定工作表

提问于
浏览
0

使用openpyxl,我加载了一个现有的工作簿,并设置了一个新的活动工作表 . 然后在Excel中打开工作簿时,我注意到在使用openpyxl进行更改之前,新的活动工作表已与原始工作簿分组 .

有没有办法取消组合表格或对此行为的任何解释?

wb = openpyxl.load_workbook("test.xlsx")
wb.active = 3
wb.save("test.xlsx")

在这里跑完之后我正在谈论"grouped"表:Grouped Sheets Image

好像我在代码中设置的活动工作表(“四”)没有完全更改所选工作表,而是选择新工作表和最初选择的工作表(“一”)

关于这个问题的另一个讨论:https://bitbucket.org/openpyxl/openpyxl/issues/878/index-0-worksheet-creation-in-existing

谢谢!

1 回答

  • 1

    我通过将名为tabSelected的属性更改为False来解决问题 .

    您可以通过获取要取消选择的选项卡(在本例中为名为“One”的选项卡)来访问该属性,如下面的代码所示 .

    wb = openpyxl.load_workbook("test.xlsx")
    wb.active = 3
    wb["One"].views.sheetView[0].tabSelected = False
    wb.save("test.xlsx")
    

    第三行将第一个选项卡设置为未选中,因此选择的唯一选项卡是第四个选项卡 . 对于这个奇怪的问题,解决方案更像是一种解决方法,但无论如何它仍然有效 .

相关问题