I am trying to use xlwt to create MS-Excel files from the contents of the database on my django site.
I have seen several solutions here on stackoverflow, in particular this link: django excel xlwt
and this django snippet: http://djangosnippets.org/snippets/2233/
These examples work in firefox, but not in Internet Explorer. Instead of getting prompted to open or save a file, a bunch of wingding junk appears on the screen. It seems that IE thinks the response is html.
Here is my view function:
def exportexcel(request):
from xlwt import Workbook
wb = Workbook()
ws = wb.add_sheet('Sheetname')
ws.write(0, 0, 'Firstname')
ws.write(0, 1, 'Surname')
ws.write(1, 0, 'Hans')
ws.write(1, 1, 'Muster')
fname = 'testfile.xls'
response = HttpResponse(mimetype="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename=%s' % fname
wb.save(response)
return response
I am seeing this behavior in IE 8.
Any suggestions as to why this isn't working in Internet Explorer?
Thanks.
The mimetype you're using application/ms-excel
is invalid for .xls
files.
The standard one is application/vnd.ms-excel
Look here Setting mime type for excel document for more informations.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With