我想格式化日期格式的某些列。如何使用OpenPyXL格式化標題列
我能夠成功使用更改單個單元格的格式:
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
它會返回錯誤:unorderable類型:元組()< INT()
您必須單獨格式化所有單元格。該文檔解釋說,格式化列和行尺寸對象對單個單元格沒有影響。 –
Charlie指的是這樣的:「樣式也可以應用到列和行,但是請注意,這僅適用於在文件關閉後創建的單元格(在Excel中)如果要將樣式應用於整個行和列,您必須將樣式應用於每個單元格,這是對文件格式的限制「(可在[應用樣式]一節中找到(https://openpyxl.readthedocs.io/en/default/styles.html#applying-樣式))。但是,最後一點不太正確。這不是對文件格式的限制,而是對openpyxl的限制。 XlsxWriter可以做到這一點。 –