在 django 网站上,我想根据数据库中的一些数据生成一个 excel 文件。
我正在考虑使用xlwt http://pypi.python.org/pypi/xlwt,但它只有一个将数据保存到文件的方法。如何获取文件到 HttpResponse 对象?或者也许您知道更好的图书馆?
我也发现了这个snippet http://www.djangosnippets.org/snippets/1151/但它不能满足我的需要。我想要的只是一种将流从 xlwt 对象获取到响应对象的方法(无需写入临时文件)
整齐的包装!我不知道这个
根据该文件,save(filename_or_stream)
方法采用要保存的文件名或要写入的类似文件的流。
Django 响应对象恰好是一个类似文件的流!所以就这样做xls.save(response)
。查看 Django 文档有关生成 PDF http://docs.djangoproject.com/en/dev/howto/outputting-pdf/#complex-pdfs用ReportLab看到类似的情况。
edit:(改编自 ShawnMilo 的评论):
def xls_to_response(xls, fname):
response = HttpResponse(mimetype="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename=%s' % fname
xls.save(response)
return response
然后,从你的视图函数中,只需创建xls
对象并完成
return xls_to_response(xls,'foo.xls')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)