最近在给公司做个小项目,需要自动化操作Excel,将原表sheet页的分组全部删除,然后按某种规则进行重新分组,如下图:
这个在Excel里一般很好设置,菜单栏的“数据”里找到组合,选中你想设置的单元格就能进行分组了
至于如何利用Python进行分组,我百度半天也没搜到决绝方案,打开官方文档也没有进行详细说明,无奈之下决定翻源码碰碰运气,想着openpyxl里有个rows_dimension可以控制行高和已有分组折叠(rows_dimension.hidden只能折叠或展开已有分组,无法新建或取消分组),进一步猜测下面会不会有一些未待网友发掘的属性能实现目的,翻两下还真给翻着了。
和常用的hidden height并列的还有一个outline_level属性,默认值是None,抱着试一试的心态引用了如下代码,成功!此时原表分组全部清除,其中 i 是你指定的Excel行号,从1开始。
worksheet.