定义一个函数:拆分所有的合并单元格,并赋予合并之前的值。

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

定义一个函数:读取原始xlsx文件,拆分并填充单元格,然后生成中间临时文件。

def unmerge_cell(filename): # 加载xlsx文件 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': # 调用函数:读取原始xlsx文件,拆分并填充单元格,然后生成中间临时文件。 unmerge_cell(filename

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

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

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