neat package! i didn't know about this
According to the doc, the save(filename_or_stream)
method takes either a filename to save on, or a file-like stream to write on.
And a Django response object happens to be a file-like stream! so just do xls.save(response)
. Look the Django docs about generating PDFs with ReportLab to see a similar situation.
edit: (adapted from ShawnMilo's comment):
def xls_to_response(xls, fname):
response = HttpResponse(mimetype="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename=%s' % fname
xls.save(response)
return response
then, from your view function, just create the xls
object and finish with
return xls_to_response(xls,'foo.xls')
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…