2010-08-08 60 views
1

上午使用xlwt模塊創建xls文件與多個工作表,我想顯示與創建的文件的內容處置。內容配置

wbk = xlwt.Workbook(encoding='utf-8') 
sheet = workbook.add_sheet('sheet1') 

然後

response.headers['Content-Type'] = \ 
    gluon.contenttype.contenttype('.xls') 
response.headers['Content-disposition'] = 'attachment; filename=projects.xls'\ 

怎樣才能讓WBK的內部projects.xls的內容?

由於提前

回答

2

看着the docs,似乎你可以寫出來一個StringIO,然後打印了這一點。

import StringIO 
output = StringIO.StringIO() 
wbk.save(output) 

然後用output.getvalue()

我還沒有測試過。

+0

理論似乎是正確 – Ben 2010-08-09 02:47:38

+0

我想我應該提到的是,如果使用CPython的,我可能會使用cStringIO。不過,不管你是否需要它取決於你的情況。 – 2010-08-09 11:05:35

2

[DIS]索賠:我xlwt的維護者。

Workbook.save(destination) ...

如果destination是具有write方法(例如,通過獲得並[c] StringIO.StringIO())的對象:

xlwt寫入到此,但不將其關閉。你使用這些東西以及如何處理這個對象取決於你。

其他:

xlwt假設destination是被解釋爲文件路徑的字符串; xlwt嘗試打開文件,寫入並關閉它。

0

在Django您只需:

response = HttpResponse(my_data, mimetype='application/vnd.ms-excel') 
response['Content-Disposition'] = 'attachment; filename=foo.xls' 

wbk.save(response)