You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用openpyxl折叠Excel中所有已存在的分组?

使用openpyxl折叠已有列分组至0级(行列保持可见)

可行,openpyxl完全支持操作已存在的列分组,无需创建新大纲,就能实现将所有分组折叠至0级且保持行列可见的需求。

实现代码

from openpyxl import load_workbook

# 加载目标工作簿与工作表
wb = load_workbook("your_input_file.xlsx")
ws = wb["目标工作表名称"]  # 替换为实际工作表名,或用wb.active取当前活动表

# 处理列分组:折叠所有非0级分组,同时强制列保持可见
for col_key in ws.column_dimensions:
    col_dim = ws.column_dimensions[col_key]
    # 仅对有大纲层级的列进行操作
    if col_dim.outline_level > 0:
        col_dim.collapsed = True  # 将分组设置为折叠状态
        col_dim.hidden = False    # 确保列不被隐藏

# 若需处理行分组,可使用以下代码块
# for row_key in ws.row_dimensions:
#     row_dim = ws.row_dimensions[row_key]
#     if row_dim.outline_level > 0:
#         row_dim.collapsed = True
#         row_dim.hidden = False

# 保存修改后的文件
wb.save("your_output_file.xlsx")

说明

  • 代码会遍历工作表中所有带大纲层级的列,将其分组设置为折叠状态(Excel中大纲指示器显示为加号),同时强制列保持可见,完全匹配你“不隐藏行列、仅折叠已有分组”的要求。
  • 如需处理行分组,只需取消注释对应的行处理代码块即可。

内容的提问来源于stack exchange,提问作者YGA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 09:40:57