openpyxl

  • openpyxl

对于单元格合并后的边框线错乱问题,可以将这一列整体遍历一遍,将每个小单元格都设置一次border就可以将线补齐。
简单示例

工作簿 / 工作表


创建一个新表
Workbook.create_sheet()

单使用方法不加参数的话,系统默认生成sheet1,sheet2.。。的新表

数据操作





样式处理









合并单元格

    wb = Workbook()
    wb.remove(wb['Sheet'])
    ws = wb.create_sheet('统计数据')
    可以指定单元格坐标来进行单元格的合并
    ws.merge_cells('C1:G1')
    ws.merge_cells('H1:L1')
    ws.merge_cells('M1:Q1')
   合并完成之后使用合并后的单元格坐标进行赋值
    ws['C1'] = 'CPU使用率平均值'
    ws['H1'] = '内存使用率平均值'
    ws['M1'] = 'IOWAIT使用率峰值'

样式设置

设置列宽,行高
    列宽
    ws.column_dimensions['A'].width = 20
    ws.column_dimensions['B'].width = 20
    行高
    ws.row_dimensions[1].height = 30
要给每个单元格进行设置的话就需要进行单元格的遍历,然后设置宽高字体居中等等
    title_format = PatternFill(fill_type='solid', fgColor="BFD1E9")
    # 单元格水平左对齐,竖直居中,自动换行
    alignment = Alignment(horizontal='center', vertical='center', wrap_text=True)
    # 单元格添加样式
    for column_cells in ws.columns:
        # 每个单元格设置列宽
        ws.column_dimensions[column_cells[0].column].width = 11
        # 设置标题样式
        # column_cells[0]每列首行,设置标题样式
        column_cells[0].fill = title_format
        # 每列首行单元格中的文字设置样式
        column_cells[0].font = Font(size=14)
        # 所有单元格进行设置,
        for cell in column_cells:
            # 设置边框线
            cell.border = border
            # 设置文字对齐方式
            cell.alignment = alignment

效果


原文地址:https://www.cnblogs.com/cizao/p/11484333.html