对openpyxl中【工作簿】、【工作页】、【行 / 列】与【单元格】的概念存在疑惑的可以参考《Excel工作簿、工作页、行列、单元格介绍》。
本文介绍对Excel单元格的样式进行简单调整,openpyxl可以获取Excel工作页中的每一个单元格对象。此时我们对Excel的样式进行调整,则可以通过修改这些单元格对象中的属性来实现。
观察下面的代码:
from openpyxl import Workbook
# 创建工作簿
workbook = Workbook()
# 创建工作页
worksheet = workbook.active
# 获取第一行第一列单元格对象
cell = worksheet['A1']
# 输出单元格类型
print(type(cell)) # <class 'openpyxl.cell.cell.Cell'>
在最后一行,我们得到了单元格对象对应的类为<class 'openpyxl.cell.cell.Cell'>
,既然是类,那么就一定会存在对应的属性与方法。我们可以通过修改对象中的下列属性,从而达到Excel单元格样式的调整:
属性 | 类型 | 说明 |
---|---|---|
fill | <class ‘openpyxl.styles.fills.PatternFill’> | 设置单元格对象的填充色。 |
alignment | <class ‘openpyxl.styles.alignment.Alignment’> | 设置单元格内容对齐方式。 |
border | <class ‘openpyxl.styles.borders.Border’> | 设置单元格边框属性。 |
1、设置单元格填充色与渐变色
在前面说到,单元格对象中包含了fill
属性,该属性用于调整单元格对象的填充色。该属性对应的类型为PatternFill
,则我们可以创建一个PatternFill对象,对其设置我们期望的填充色,最后通过赋值实现单元格填充色的调整。我们首先来看一下该类的构造方法:
def __init__(self, patternType=None, fgColor=Color(), bgColor=Color(),
fill_type=None, start_color=None