每一行都加注释尽可能详细:# 拆分所有的合并单元格并赋予合并之前的值。def unmerge_and_fill_cellsworksheet all_merged_cell_ranges = list worksheetmerged_cellsranges for merged_cell_range in all_merged_cell_ranges
定义一个函数:拆分所有的合并单元格,并赋予合并之前的值。
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
原文地址: https://www.cveoy.top/t/topic/imS7 著作权归作者所有。请勿转载和采集!