如何使用OpenPyXL格式化标题列

我正在尝试以date格式格式化某些列。

我可以使用以下方法成功更改单个单元格的格式:

date_style = Style(number_format="M/D/YYYY") ws['E7'].style = date_style 

但有没有一种更简单的方法来应用一个毯子格式化除了标题列?

我注意到openpyxl网站上的一些代码,应该这样做,但似乎没有工作。 如下:

 col = ws.column_dimensions['E'] col.number_format = "M/D/YYYY" 

我假设它是否正常工作,它也适用于标题。

编辑:我试过下面的代码来格式化单元格:

 ws.cell(row=1,column=5).style=date_style 

它和上面的ws ['E7']语句的作用相同,但是格式应该允许我在其上运行一个循环。 但是当我执行以下:

 for i in ws.rows[1:]: ws.cell(row=i,column=5).style = date_style 

它返回错误:无法定义的types:tuple()<int()

我想通了,虽然可能不是最优雅的方式:

 date_style = Style(number_format="M/D/YYYY") for col in range(5,8,2): for row in range(2,100,1): ws.cell(row=row,column=col).style = date_style 

我希望列5和7具有date格式。 这样做的诀窍,但当然,如果我有超过100行,我将不得不提高这个数字。