2013-09-26 64 views
3

我想將數據寫入excel文檔,其中一些列完全由我想格式化的日期/數字數據組成。我可以單獨設置每個單元格的格式,但似乎過多。對象列上有一個set_style方法,但由於某種原因,它似乎沒有做任何事情。在python中設置excel列樣式(xlwt)

import xlwt 
from datetime import date 
book = xlwt.Workbook('ascii') 
sheet = book.add_sheet('Sheet1') 
# cells in first column, they end up with no formatting 
sheet.write(0, 0, date(2012, 1, 1)) 
sheet.write(1, 0, date(2012, 1, 1)) 
sheet.write(2, 0, date(2012, 2, 1)) 
style = xlwt.easyxf(num_format_str='YYYY-MM-DD') 
sheet.col(0).set_style(style) 
# cells in second column are formatted correctly 
sheet.write(0, 1, date(2012, 1, 1), style) 
sheet.write(1, 1, date(2012, 1, 1), style) 
sheet.write(2, 1, date(2012, 2, 1), style) 
book.save(open('foo.xls', 'wb')) 
+0

以防Vivek的答案被刪除爲僅鏈接:這裏是[他發佈的鏈接](https://groups.google.com/forum/?hl=en#!topic/python-excel/V4AVzPjsdrw)那個技巧說是有幫助的。 –

回答

0

希望能幫助: Similar to your question

我看到這個用在循環,高效利用。

+0

這有幫助。事實證明,您無法按照人們所期望的方式真正在XSL文件中設置列樣式。 我遇到的問題是樣式太多,但事實證明,單元格樣式只是引用,所以如果將相同的樣式對象傳遞給不同的單元格,則不會傳遞樣式限制。 – trick

+1

我通過Google發現了此問題。如果您將其編輯爲回答問題而不是僅鏈接,我會加快解決問題的速度。 –