美文网首页
使用openpyxl创建excel并设置单元格样式

使用openpyxl创建excel并设置单元格样式

作者: LeslieLiang | 来源:发表于2020-01-19 17:29 被阅读0次
    wb = Workbook()
            ws = wb.create_sheet('月度排名汇总', 0)
    
            # 合并单元格
            ws.merge_cells('b2:b3')
            ws.merge_cells('c2:c3')
            ws.merge_cells('d2:d3')
            ws.merge_cells('e2:g2')
            ws.merge_cells('h2:j2')
    
            # 设置单元格文本内容
            ws['b2'].value = '负责人'
            ws['c2'].value = '部门/小组'
            ws['d2'].value = '负责产品总量'
            ws['e2'].value = '与初始排名比较'
            ws['h2'].value = '与月初排名比较'
    
            ws['e3'].value = ws['h3'].value = '排名提升'
            ws['f3'].value = ws['i3'].value = '排名不变'
            ws['g3'].value = ws['j3'].value = '排名下滑'
    
            # 创建单元格样式对象
            headerCellStyle = NamedStyle(name = 'headerCellStyle')
            headerCellStyle.alignment = Alignment(horizontal = 'center', vertical = 'center') # 水平垂直居中
            border = Side(border_style = 'thin', color = '000000') # 线框样式
            headerCellStyle.border = Border(left = border, top = border, right = border, bottom = border) # 设置单元格边框样式
    
            # 设置表格样式
            for row in ws['b2:j30']:
                for cell in row:
                    cell.style = headerCellStyle
    
            # 数据写入
            for index, item in enumerate(data, 4):
                ws.cell(row = index, column = 2, value = item.get('name'))
                ws.cell(row = index, column = 3, value = item.get('group_name'))
                ws.cell(row = index, column = 4, value = item.get('total'))
                ws.cell(row = index, column = 5, value = item.get('initial').get('up'))
                ws.cell(row = index, column = 6, value = item.get('initial').get('normal'))
                ws.cell(row = index, column = 7, value = item.get('initial').get('down'))
                ws.cell(row = index, column = 8, value = item.get('month').get('up'))
                ws.cell(row = index, column = 9, value = item.get('month').get('normal'))
                ws.cell(row = index, column = 10, value = item.get('month').get('down'))
    
            wb.save('rank.xlsx')
    

    效果

    相关文章

      网友评论

          本文标题:使用openpyxl创建excel并设置单元格样式

          本文链接:https://www.haomeiwen.com/subject/qeorzctx.html