0

我一直在尝试让 tablib 与 web2py 一起工作,但没有运气。该代码按预期交付了一个 .xls 文件,但它已损坏且为空。

import tablib 
data = []

headers = ('first_name', 'last_name')
data = tablib.Dataset(*data, headers=headers)

data.append(('John', 'Adams'))
data.append(('George', 'Washington'))


response.headers['Content-Type']= 'application/vnd.ms-excel;charset=utf-8'
response.headers['Content-disposition']='attachment; filename=test.xls'
response.write(data.xls, escape=False)

有任何想法吗??谢谢!

4

1 回答 1

0

根据http://en.wikipedia.org/wiki/Process_stateresponse.write记录为服务

文本写入输出页面正文

(我的重点)。 data.xls不是文本——是二进制的东西!要验证这确实是您的问题的原因,请尝试data.csv改用,应该可以工作,因为它文本。

我相信您需要使用response.stream“二进制内容”作为您的回复(或作为附件)发送。

于 2015-03-27T21:49:06.030 回答