-
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
效果