Django экспортирует объекты в файл .xlsx с помощью xlsxwriter - PullRequest
0 голосов
/ 25 октября 2018

Я использую библиотеку xlsxwriter для экспорта Django объектов в .xlsx file.Это, кажется, частично работает, потому что у меня возникает проблема при загрузке файла.

Я открываю его в Excel, и эта проблема появляется во всплывающем окне:

Ошибкапроизошла при отправке команды в программу

enter image description here

Затем, если я снова открываю файл с загруженным Excel, он работает.Так почему же это не работает с первого раза?Мой Excel отлично работает, потому что у меня нет проблем с файлом .xlsx из Интернета или где-то еще.

Это мой код, который позволяет генерировать файл Excel:

def export_categories_xls(request):
    output = io.BytesIO()

    book = xlsxwriter.Workbook(output)
    sheet = book.add_worksheet('Category List')
    row = 0
    sheet.write(row, 0, 'name')

    objects = Category.objects.all()

    row += 1
    for item in objects:
        print(item)
        sheet.write(row, 0, item.name)
        row += 1
    book.close()

    # construct response
    output.seek(0)
    response = HttpResponse(output.read(),
                            content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
    response['Content-Disposition'] = "attachment; filename=test.xlsx"

    return response

Спасиботы;)

...