使用 openpyxl 取消合并 Excel 工作表中的每个单元格

Unmerge every cell in an Excel worksheet using openpyxl

有没有办法使用 openpyxl 取消合并 Excel 工作表中的每个单元格。不能保证合并每个或任何单元格,但基本上我想取消合并工作表中存在的单元格。

您可以遍历工作表的 merged_cells 属性并将每个属性用作 unmerge_cells() 的参数。 unmerge_cells() 要么采用开始和结束的行和列,要么采用范围字符串,但后者通过将值从 merged_cells 转换为 str 更易于使用。

举个例子:

>>> ws.merged_cells
<MultiCellRange [A2:A4 A8:D11]>

for merge in list(ws.merged_cells):
    ws.unmerge_cells(range_string=str(merge))

>>> ws.merged_cells
<MultiCellRange []>

ws.merged_cells 似乎不喜欢在取消合并时被迭代,所以 list() 避免了任何问题)