在 openpyxl 中更改整列的 number_format

change number_format of whole column in openpyxl

在Python中,使用Openpyxl,有没有办法改变整列的数字格式?

目前,我一次只能更改这个单元格:

wb = openpyxl.load_workbook(xlsxFile)
ws = wb['Tasks']
ws.cell(9, 10).number_format = u'#,##0.00€'

对于条件格式,有一个使用范围的简单解决方案:

ws.conditional_formatting.add('I2:%s' % row, openpyxl.formatting.rule.CellIsRule(operator='lessThan', formula=['0'], font=redFont))

我通过 python 脚本在这个 xlsx 文件中填充数据,因此一次一个单元格是可行的,但我想更改 number_format 和多列和数百行的条件格式.. .

使用:

col = ws.column_dimensions['A']
col.number_format = u'#,##0.00€'

请注意,您必须将此格式应用于 Excel 已创建的单元格。否则你必须逐个单元地迭代。 这是 documentation