用python处理excel文件有多轻松?工作从未如此简单( 三 )

5.5 设置单元格格式单元格的格式包括行高,列宽,字体、边框、对齐方式、填充颜色等 。这些都在 openpyxl 的 styles 模块中 。

  • 行高/列宽:row_dimensions[row_num].height = xx,sheet.column_dimensions[col_name].width = xx
  • 字体( Font 对象):包括字段名称,大小、加粗、斜体、颜色等,Font(name="微软雅黑", size=20, bold=True, italic=True, color="000000")
  • 边框( Border 对象和 Side 对象):边框每一条边的格式大小/颜色Side(style="thin", color="000000"),通过边构建边框对象:Border(left=side, right=side, top=side, bottom=side)
  • 对齐( Alignment 对象):垂直和水平对齐方向,是否自动换行 。Alignment(horizontal="center", vertical="center", wrap_text=True)
  • 填充颜色,分为普通颜色填充和渐变颜色填充:PatternFill(fill_type="solid", fgColor="FF0000")和 GradientFill(stop=("FF0000", "FD1111", "000000"))
# 设置行高和列宽sheet.row_dimensions[1].height = 50sheet.column_dimensions["A"].width = 20# 设置单元格字体cell = sheet["A1"]current_font = cell.fontfont = Font(name="微软雅黑", size=20, bold=True, italic=True, color="000000")cell.font = font# 设置边框(细边,黑色)side_style = Side(style="thin", color="000000")border = Border(left=side_style, right=side_style, top=side_style, bottom=side_style)cell.border = border# 居中对齐,自动换行cell_alignment = Alignment(horizontal="center", vertical="center", wrap_text=True)cell.alignment = cell_alignment# 填充颜色(红色填充,和红色到黑色渐变填充)p_fill = PatternFill(fill_type="solid", fgColor="FF0000")g_fill = GradientFill(stop=("FF0000", "FD1111", "000000"))cell.fill = p_fillsheet["B1"].fill = g_fill复制代码最后注意的是,这些修改操作最后都需要通过保存操作(wb.save(file_path))才能生效 。
6 总结通过上面的讲解,了解如何使用 python 的 openpyxl 库对 excel 文档的处理操作,可以发现它的操作逻辑相当是清晰简单的,符合的我们使用 excel 的习惯 。处理流程基本是加载文件、定位需要处理的工作表、行、列及单元格 。对它们进行读、写、修改格式等操作 。因此,如果有自动化处理 excel 文件的需求,用 openpyxl 吧,但它限制只能处理 2010 格式的 excel 文档,对于旧格式( xls )的建议都统一换为新的格式再操作,或者也可以使用 xlrd 和 xlwt 模块操作 。

【用python处理excel文件有多轻松?工作从未如此简单】


推荐阅读