

1、参考案例:


2、实现方法:

注意:’自动向下填充‘指令的填充类型需选拷贝填充
1、参考案例:


2、实现方法:
(1)先获取合并单元格的范围,得到对应起始、结束行列和单元格内的值
这部分使用代码实现,代码如下:
import openpyxl as xl
from openpyxl.worksheet.worksheet import Worksheet
from openpyxl.cell import MergedCell
#定义回调函数
#传入值为文件路径和sheet页
def merged_callback(file_path,sheet):
wb = xl.load_workbook(file_path) # 加载工作簿
sheet = wb[sheet] # 通过工作表名称获取工作表对象
merged_ranges = sheet.merged_cell_ranges # 获取当前工作表的所有合并单元格范围列表
# print(merged_ranges)
merged_list = []
for merged_range in merged_ranges:
# print(type(merged_range)) # 打印区域对象类型
min_row = merged_range.min_row #起始行
max_row = merged_range.max_row #结束行
min_col = merged_range.min_col #起始列
max_col = merged_range.max_col #结束列
# 获取合并单元格范围中左上角(即最小行和最小列)的单元格对象
cell = sheet.cell(row = merged_range.min_row,column =merged_range.min_col)
# print(cell.value)
temp_list = [cell.value,min_col,min_row,max_col,max_row]
merged_list.append(temp_list)
return merged_list(2)调用模块传入对应参数后,获取当前合并单元格的位置,然后循环起始结束行、列号,得到合并单元格里的小单元格位置,再写入对应的单元格数据。 指令如下:
