excel万能表头


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


猜你喜欢

转载自blog.csdn.net/lee2601/article/details/80280249
今日推荐