def add_header(desk_path,header,header_list,date_list=[]):
'输出表初始化,date_list存放计算周期'
wb_hsl = Workbook()
ws_hsl = wb_hsl.create_sheet('累计换手率',0) #表单命名
ws_hsl.merge_cells('A1:S1') #合并单元格 拆分:unmerge_cells
ws_hsl.sheet_properties.tabColor = '8B008B' #设置表单颜色
ws_hsl.column_dimensions['A'].width = 9 #设置列宽
ws_hsl.row_dimensions[1].height = 40 #设置表头高度
bold_font = openpyxl.styles.Font(
name='等线', size=24, italic=False,
color='FF0000', bold=True) #设置字体样式
ws_hsl['A1'].font = bold_font
ws_hsl['A1'].alignment =openpyxl.styles.Alignment(
horizontal = 'center',vertical='center') #居中
ws_hsl['C2'].alignment = openpyxl.styles.Alignment(horizontal = 'center')
ws_hsl['A1'] = header #表头
report_num = len(date_list)
if report_num < 2:
report_num = date_list[0] #提取计算周期
rows = int(header_list[0][0][0][1:])#提取表头列表中的行号
if len(date_list) > 2:
l = len(header_list) - 1
for i in range(report_num):#累计换手率递进表日期参数
ws_hsl.cell(2,l*i+4).value = date_list[i]
ws_hsl.cell(2,l*i+4).alignment = openpyxl.styles.Alignment(horizontal = 'center')
for i,j in header_list[0]:
ws_hsl[i] = j#写代码、名称、序号
ws_hsl[header_list[0][1][0]].alignment =openpyxl.styles.Alignment(
horizontal = 'center',vertical='center')#序号居中显示
header_list.pop(0)#剔除代码、名称、序号列表
l = len(header_list)
for j in range(report_num):
i = 0
for each in header_list:
ws_hsl.cell(rows,l*j+i+4).value = each
ws_hsl.cell(rows,l*j+i+4).alignment = openpyxl.styles.Alignment(horizontal = 'center')
i += 1
ws_hsl.cell(rows,l*j+4).font = openpyxl.styles.Font(color='888888')
ws_hsl.cell(rows,l*j+4).alignment =openpyxl.styles.Alignment(
horizontal = 'center',vertical='center')#每组第一列居中
target_file = desk_path + header + '.xlsx'
wb_hsl.save(target_file)
return target_file