Обслуживание динамически генерируемых файлов MS Excel с использованием django и xlwt не удается в Internet Explorer - PullRequest
5 голосов
/ 17 мая 2011

Я пытаюсь использовать xlwt для создания файлов MS-Excel из содержимого базы данных на моем сайте django.

Я видел несколько решений здесь по stackoverflow, в частности по этой ссылке: djangoexcel xlwt

и этот фрагмент django: http://djangosnippets.org/snippets/2233/

Эти примеры работают в Firefox, но не в Internet Explorer.Вместо приглашения открыть или сохранить файл на экране появляется куча ненужного барахла.Похоже, IE думает, что ответ html.

Вот моя функция просмотра:

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

Я вижу это поведение в IE 8.

Есть предложенияпочему это не работает в Internet Explorer?

Спасибо.

1 Ответ

4 голосов
/ 17 мая 2011

Mimetype, который вы используете application/ms-excel, недопустим для .xls файлов.

Стандартный application/vnd.ms-excel

Смотрите здесь Настройка типа MIMEдля документов Excel для получения дополнительной информации.

...