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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值