我正在尝试以日期格式格式化某些列。
我能够使用以下方法成功更改单个单元格的格式:
date_style = Style(number_format="M/D/YYYY")
ws['E7'].style = date_style
Run Code Online (Sandbox Code Playgroud)
但是有没有更简单的方法可以将一揽子格式应用于除标题之外的列?
我注意到 openpyxl 网站上的一些代码应该这样做,但它似乎不起作用。它在下面:
col = ws.column_dimensions['E']
col.number_format = "M/D/YYYY"
Run Code Online (Sandbox Code Playgroud)
我假设如果它确实工作正常,它也适用于标题。
编辑:我尝试了以下代码来格式化单元格:
ws.cell(row=1,column=5).style=date_style
Run Code Online (Sandbox Code Playgroud)
其工作方式与上面的 ws['E7'] 语句相同,但其格式应允许我在其上运行循环。但是当我执行以下操作时:
for i in ws.rows[1:]:
ws.cell(row=i,column=5).style = date_style
Run Code Online (Sandbox Code Playgroud)
它返回错误:无法排序的类型:tuple() < int()