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

如何使用openpyxl取消Excel工作表中所有合并的单元格

openpyxl 批量取消工作表合并单元格实现方案

完全可以实现,openpyxl 原生提供了合并单元格相关的操作接口,无需提前判断工作表内是否存在合并单元格,无合并单元格时代码也不会报错。

核心逻辑

工作表的 merged_cells.ranges 属性会返回当前表所有合并单元格的范围集合,没有合并单元格时该集合为空,直接遍历该集合调用取消合并方法即可。

注意:遍历前要将范围集合转为 list 避免动态修改集合导致的漏处理问题。

完整可运行代码

import openpyxl

# 加载待处理的Excel文件
wb = openpyxl.load_workbook("你的文件路径.xlsx")

# 方案1:仅处理指定工作表
target_sheet = wb["需要处理的工作表名称"]
for merged_area in list(target_sheet.merged_cells.ranges):
    target_sheet.unmerge_cells(str(merged_area))

# 方案2:处理工作簿内所有工作表(不需要的话注释掉即可)
# for sheet in wb.worksheets:
#     for merged_area in list(sheet.merged_cells.ranges):
#         sheet.unmerge_cells(str(merged_area))

# 保存修改后的文件,可覆盖原文件也可以存为新文件
wb.save("处理后的文件路径.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:15:07