У меня проблема с попыткой использовать мой файл Excel как httpresponse, он выходит почти в два раза больше и поврежден, когда я пытаюсь его открыть.
Мои настройки следующие:
- У меня есть шаблон Excel, который я делаю копию с использованием shutil2
- Затем я открываю копию с помощью load_workbook () в openpyxl
- Я заполняю книгу данными
Затем я (согласно документам openpyxl) сохраняю книгу в виде потока и сохраняю ее как объект httpresponse, который будет возвращен на мой сайт через django
with NamedTemporaryFile() as tmp:
wb.save(tmp.name)
tmp.seek(0)
stream = tmp.read()
response = HttpResponse(content=stream, content_type="application/ms-excel")
# I've also tried with application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
response['Content-Disposition'] = 'attachment; filename=Excel.xls'
return response
In мой шаблон У меня есть jquery код, который загружает Excel для пользователя. Это делается после ответа на этот вопрос: Получить файл Excel (.xlsx) из ответа сервера в ajax
Это все работает нормально, но полученный файл загрузки поврежден и при этом Я ожидаю, что он будет размером около 7 МБ, на самом деле это 16 МБ.
Кто-нибудь знает, что я делаю неправильно?