简体   繁体   English

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

[英]Unmerge every cell in an Excel worksheet using openpyxl

Is there a way to unmerge every cell in an Excel worksheet using openpyxl.有没有办法使用 openpyxl 取消合并 Excel 工作表中的每个单元格。 There isn't a guarentee that every or any cell is merged, but basically I want to unmerge cells if they exist in a worksheet.没有保证合并每个或任何单元格,但基本上我想取消合并工作表中存在的单元格。

You can iterate through the worksheet's merged_cells attribute and use each one as an argument to unmerge_cells() .您可以遍历工作表的merged_cells属性并将每个属性用作unmerge_cells()的参数。 unmerge_cells() either takes the starting and ending rows and columns, or a range string, but the latter is easier to use by converting the value(s) from merged_cells to a str . unmerge_cells()要么采用起始行和结束列,要么采用范围字符串,但后者更易于使用,方法是将值从merged_cells转换为str

As an example:举个例子:

>>> 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 doesn't seem to like being iterated while you're unmerging, so list() avoids any issues) ws.merged_cells在您ws.merged_cells似乎不喜欢被迭代,因此list()避免了任何问题)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM