Python openpyxl 设置整列格式

背景

设置 excel 的 A 列格式为水平和垂直居中

尝试

方法一:最开始想到的使用方法是:

colA = ws['A']
colA.alignment = Alignment(horizontal='center',vertical='center')

出现报错:

Traceback (most recent call last):
  File "C:/Users/admin/PycharmProjects/TestData/dayActiveCount.py", line 45, in 
    colA.alignment = Alignment(horizontal='center',vertical='center')
AttributeError: 'tuple' object has no attribute 'alignment'

元组类型没有 ‘alignment’ 方法。


方法二:然后在网上查到的方法:

colA = ws.column_dimensions['A']
colA.alignment = Alignment(horizontal='center',vertical='center')

设置后,A 列没有数据的单元格格式改为水平和垂直居中,但是有数据的单元格没有应用上,效果如下:
Python openpyxl 设置整列格式_第1张图片
Python openpyxl 设置整列格式_第2张图片


方法三:只能用原始的方法:循环一列内的每个单元格。

colA = ws['A']
for cell in colA:
    cell.alignment = Alignment(horizontal='center',vertical='center')

效果应用成功,有数据的地方是水平和垂直居中,没有数据的地方是默认格式:
Python openpyxl 设置整列格式_第3张图片
Python openpyxl 设置整列格式_第4张图片

遗留问题:方法二ws.column_dimensions['A']不知道为什么不能生效。

你可能感兴趣的:(Python,办公工具小技巧)