如何使用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
相关产品推荐
相关产品推荐

