在openpyxl中更改整个列的number_format

时间:2019-08-14 10:05:30

标签: python 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和条件格式来设置多列和几百行...

1 个答案:

答案 0 :(得分:0)

使用:

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

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