Python和Openpyxl-用于格式化单个单元格的可用属性

时间:2018-09-10 09:33:15

标签: python-3.x openpyxl

我查看了stylescell modulesource code的Openpyxl文档,但没有找到所需的文档。也许我错过了(Python的新功能)。

我需要对电子表格中的某些单元格进行格式化,使其与其他ss不同。我能否将单个单元格指定为“适合缩小”,“右对齐”,“下对齐”,“字体颜色=灰色”等,同时将其余的SS保持原始样式?是应该设置的Cell style还是有其他资源可以查看Openpyxl在单个单元格上将允许哪些属性?

这是一个代码段,其中'al'变量有效,而'br'无效,我也不知道为什么。

# Cell Alignment
al = Alignment(horizontal='center', vertical='center')
br = Alignment(horizontal='right', vertical='bottom')
for row in sheet['A1':'I43']: 
    for cell in row: 
        if cell == 'Hz':
            cell.alignment = br   #Help: not working
        else:
            cell.alignment = al

谢谢, 菲尔

1 个答案:

答案 0 :(得分:0)

好吧,我想我明白了。到目前为止,我正在使用NamedStyle对象完成单个单元格的格式化。

这是我的代码:

# Set 'Named Styles', which are mutable, when need to apply formatting to different cells at once
headerrows = NamedStyle(name='headerrows')
headerrows.font = Font(bold=True, underline='none', sz=12)
headerrows.alignment = al

rooms = NamedStyle(name="rooms")
rooms.font = Font(bold=True, size=12)
rooms.border = Border(left=bold, top=bold, right=bold, bottom=bold)

sheet['A1'].style = rooms
sheet['A2'].style = headerrows
sheet['A3'].style = 'headerrows'
sheet['A4'].style = 'rooms'