Split all merged cells and assign their original values.

def unmerge_and_fill_cells(worksheet): all_merged_cell_ranges = list( worksheet.merged_cells.ranges )

for merged_cell_range in all_merged_cell_ranges:
    merged_cell = merged_cell_range.start_cell
    worksheet.unmerge_cells(range_string=merged_cell_range.coord)

    for row_index, col_index in merged_cell_range.cells:
        cell = worksheet.cell(row=row_index, column=col_index)
        cell.value = merged_cell.value

Read the original xlsx file, split and fill cells, then generate an intermediate temporary file.

def unmerge_cell(filename): wb = openpyxl.load_workbook(filename) for sheet_name in wb.sheetnames: sheet = wb[sheet_name] unmerge_and_fill_cells(sheet) filename = filename.replace(".xls", "_temp.xls") wb.save(filename) wb.close()

if name == 'main': unmerge_cell(filename

每一行都加注释:# 拆分所有的合并单元格并赋予合并之前的值。def unmerge_and_fill_cellsworksheet all_merged_cell_ranges = list worksheetmerged_cellsranges for merged_cell_range in all_merged_cell_ranges merg

原文地址: https://www.cveoy.top/t/topic/imS6 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录