On a django site, I want to generate an excel file based on some data in the database.
I’m thinking of using xlwt, but it only has a method to save the data to a file. How can get the file to the HttpResponse object? Or maybe do you know a better library?
I’ve also found this snippet but it doesn’t do what I need. All I want is a way to get the stream from the xlwt object to the response object (without writing to a temporary file)
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):
then, from your view function, just create the
xlsobject and finish with