如何在Excel工作表中取消合并单元格?

3

我有一个代表Excel工作表的类。我想使用unmerge_cells函数来消除所有合并单元格。当我运行代码时,我可以看到(与我的Excel工作表进行比较),列表中的所有范围都已正确传递,但是范围似乎没有被取消合并..没有任何范围被取消合并..我错过了什么?

from openpyxl.utils import *


class ExcelSheet(object):
    """

    This class represents excel worksheet.
    Attributes:

        sheet_obj - excel worksheet object
        self.merged_cells_ranges - list of ranges with merged cells

    """
    def __init__(self, sheet_obj):
        self.sheet_obj = sheet_obj
        self.merged_cells_ranges = self.sheet_obj.merged_cell_ranges


    def unmerge_cells(self):
        if len(self.merged_cells_ranges) > 0:
            for range in self.merged_cells_ranges:
                self.sheet_obj.unmerge_cells(range)

3
最简单的方法是设置 ws.merged_cells = [] - Charlie Clark
@krakowi 你是怎么解决的? - Joe
嗨@Joe,根据Charlie Clark的建议,我编写了一个短方法,将merged_cells(sheet_obj的属性)设置为空列表。这完全“清除”整个工作簿。 - krakowi
@krakowi,您能否将该方法发布为答案? :) - Joe
def unmerge_cells(self): self.sheet_obj.merged_cells = [] - krakowi
@krakowi 谢谢,但是它没有起作用。 - Joe
1个回答

1
unmerge_cells(range_string=None, start_row=None, start_column=None, end_row=None, end_column=None) 

range_string 是一个单元格范围(例如 A1:E1)

您需要将范围作为字符串传递。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接