Openpyxl - 将样式创建为变量

时间:2016-08-26 10:15:26

标签: python styles openpyxl

我想应用格式来优化单元格(更改默认字体和单元格填充)。我可以逐个设置单元格属性:

from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, Color

ws1.cell(row=1,column=1).font=Font(color=colors.WHITE,size=9)
ws1.cell(row=1,column=1).fill=PatternFill(fill_type="solid", start_color='0000FF', end_color='0000FF')
...and so on

通过创建模板样式是否有更有效的方法,所以我只能编写类似

的内容
ws1.cell(row=1,column=1).style=TemplateStyle

1 个答案:

答案 0 :(得分:0)

也许'命名样式'是一种选择。我想这就是@Charlie Clark所说的。您可以在openpyxl 2.4.0 documentation

上找到相当有限的解释

这可能类似于以下内容。

from openpyxl.styles import NamedStyle, Font, PatternFill

template_style = NamedStyle(name="template_style")
template_style.font = Font(color=colors.WHITE,size=9)
template_style.fill = PatternFill(fill_type="solid", start_color='0000FF', end_color='0000FF')

ws1.cell(row=1, column=1).style = template_style

我不确定如何引用NamedStyle括号内的名称,但我知道它不需要与它所关联的变量相同。由于文档对变量和括号中的名称使用相同的名称,因此我选择执行相同的操作。