nir*_*ir9 4 python excel openpyxl
我使用 openpyxl 加载了现有工作簿,并设置了新的活动工作表。然后,当在 Excel 中打开工作簿时,我注意到新的活动工作表在使用 openpyxl 进行更改之前已与原始工作表分组。
有什么方法可以取消工作表的分组或对此行为有任何解释吗?
wb = openpyxl.load_workbook("test.xlsx")
wb.active = 3
wb.save("test.xlsx")
Run Code Online (Sandbox Code Playgroud)
运行后,这里是我正在谈论的“分组”工作表:分组工作表图像
就好像我在代码中设置的活动工作表(“四”)没有完全更改所选工作表,而是在最初选择的工作表(“一”)旁边选择新工作表
该问题的另一个讨论:https://bitbucket.org/openpyxl/openpyxl/issues/878/index-0-worksheet-creation-in-existing
谢谢!
好吧,我通过将名为 tabSelected 的属性更改为 False 解决了这个问题。
您可以通过获取要取消选择的选项卡(在本例中为名为“One”的选项卡)来访问该属性,如下面的代码所示。
wb = openpyxl.load_workbook("test.xlsx")
wb.active = 3
wb["One"].views.sheetView[0].tabSelected = False
wb.save("test.xlsx")
Run Code Online (Sandbox Code Playgroud)
第三行将第一个选项卡变为未选择状态,因此唯一选择的选项卡是第四个选项卡。该解决方案更像是解决这个奇怪问题的方法,但无论如何它仍然有效。
| 归档时间: |
|
| 查看次数: |
2583 次 |
| 最近记录: |