[python] L'oggetto XlsxWriter salva come risposta http per creare download in Django



0 Answers

Un piccolo aggiornamento sulla risposta @alecxe per Python 3 ( io.BytesIO invece di StringIO.StringIO ) e Django> = 1.5 ( content_type invece di mimetype ), con l'assembly di file completamente in-memory che è stato implementato da @jmcnamara ( { 'in_memory': True} )!
Ecco l'esempio completo:

import io

from django.http.response import HttpResponse

from xlsxwriter.workbook import Workbook


def your_view(request):

    output = io.BytesIO()

    workbook = Workbook(output, {'in_memory': True})
    worksheet = workbook.add_worksheet()
    worksheet.write(0, 0, 'Hello, world!')
    workbook.close()

    output.seek(0)

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

    output.close()

    return response
Question

L'oggetto XlsxWriter salva come risposta http per creare il download in Django?




Related