首页 > 解决方案 > 在openpyxl中更改整列的number_format

问题描述

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

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

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

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

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

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

标签: pythonopenpyxl

解决方案


采用:

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

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


推荐阅读