Python对Excel表格处理非常方便,本文专门对Excel单元格样式设置进行总结,日常用到的设置基本都可以用openpyxl库完成。
创建一个表格
openpyxl是第三方库,如果你还没有安装,输入下方命令安装。
pip install openpyxl
在开始设置单元格前,先创建一个excel表格,下方代码可以新建一个Excel表格,并写入内容。
# coding=utf-8
import openpyxl
# 创建一个excel表格对象
wb = openpyxl.Workbook()
# 获取当前活跃的sheet页,默认就是第一个sheet页
ws = wb.active
# 在表格的单元格中写入内容
ws.cell(row=2, column=3).value = '小斌哥ge'
ws.cell(row=2, column=4).value = '小斌哥ge'
# 处理完成后保存表格,会在当前目录生成一个excel文件
wb.save(filename='cell.xlsx')
# 关闭表格对象
wb.close()
效果:
代码含义参考注释,我在两个相邻的单元格中写入了相同的内容,后面的代码对一个单元格设置样式,另一个单元格不做处理,方便对比。
给单元格写入内容的方式有两种,一种是给cell的value属性赋值,如上面的代码,另一种是用cell的参数设置,如ws.cell(row=2, column=3, value='xxx'),两种方式结果一样。
本文后面的代码全部都添加在单元格写入内容后,保存内容(wb.save())前,顺序不能弄反了。(导包的代码可以统一放到前面)
单元格字体和文字样式
from openpyxl.styles import Font
# 设置字体和文字样式
font = Font(name="微软雅黑", size=12, color='FF0000', bold=True,
italic=True, underline='single', strike=False)
ws.cell(row=2, column=3).font = font
效果:
字体和文字样式使用Font类设置,赋值给cell()的font属性。
Font类常用参数说明:
-
name: 字体名称。
-
size: 字体大小。
-
color: 字体颜色。使用16进制的RGB颜色值,这里的颜色值中没有#。
-
bold: 设置字体加粗,布尔值。
-
italic: 设置字体倾斜,布尔值。
-
underline: 设置下划线的样式,默认没有。共有single, double, singleAccounting, doubleAccounting四种选择,single单线,double双线,不带Accounting长度与文字一致,带Accounting长度与单元格宽度一致。
-
strike: 设置中划线,布尔值。
设置单元格高和宽
# 设置宽高
# row_dimensions中指定要设置高度的行
ws.row_dimensions[2].height = 50
# column_dimensions中指定要设置宽度的列
ws.column_dimensions['C'].width = 20