如何使用openpyxl对工作簿中的Excel工作表/选项卡进行排序

时间:2016-06-07 13:37:13

标签: python openpyxl

我需要按字母顺序对工作簿中的选项卡/工作表进行排序。我正在使用openpyxl来操作工作表。

1 个答案:

答案 0 :(得分:1)

您可以尝试对workbook._sheets列表进行排序。

workbook._sheets = sorted(workbook._sheets)

这可能会导致活动工作表(由索引引用)以静默方式更改,因此排序操作应该跟workbook.active = 0之类的内容一样。

我会首先尝试使用测试数据,因为直接访问所谓的“私有”_sheets属性可能会搞砸并破坏您的数据。

根据Charlie Clark的评论,使用所谓的“私有”属性会影响模块的工作方式。如果您想正确阅读源代码以了解它涉及的内容并将Workbook类子类化以添加一个执行排序的新方法。

...请记住,更新openpyxl可能会导致您精心设计的子类不再起作用。您可以建议将排序方法包含在openpyxl代码中,以便充分维护。

Python不会禁止您将计算机变成不听话的怪物,只要它是您喜欢的。

  

我们都在这里同意成年人。

     

Guido von Rossum