Hallo ich habe eine kurze Frage. Ich habe keine Antwort im Internet gefunden, vielleicht kann jemand von Ihnen mir helfen.Django: openpyx speichern Arbeitsmappe als Anhang
So mag ich Arbeitsmappe als Anlage speichern, aber ich weiß nicht, wie ein Beispiel können sehen:
from openpyxl import Workbook
from openpyxl.cell import get_column_letter
wb = Workbook(encoding='utf-8')
dest_filename = 'file.xlsx'
ws = wb.worksheets[0]
ws.title = "range names"
for col_idx in xrange(1, 40):
col = get_column_letter(col_idx)
for row in xrange(1, 600):
ws.cell('%s%s'%(col, row)).value = '%s%s' % (col, row)
ws = wb.create_sheet()
ws.title = 'Pi'
ws.cell('F5').value = 3.14
Dann habe ich versucht:
response = HttpResponse(wb, content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename="foo.xls"'
return response
es in der Tat aber xlsx Datei ist Rückkehr in Datei es gibt nur Objekt adres nicht den Inhalt der Datei:
<openpyxl.workbook.Workbook object at 0x00000000042806D8>
Kann jemand helfen?
Haben Sie versucht, 'output = StringIO.StringIO()' zu instanziieren, dann schreiben Sie über die 'openpyxl.writer.excel.save_workbook' Methode dorthin und übergeben Sie' output.getvalue() 'an' HttpResponse' Konstruktor? Lass es mich wissen, wenn es hilft - ich füge es als Antwort hinzu. – alecxe
Eine weitere Option ist die 'openpyxl.writer.excel.save_virtual_workbook' Methode. – alecxe
'Antwort = HttpResponse (save_virtual_workbook (wb), content_type = 'Anwendung/vnd.ms-Excel')' Arbeiten Dank Kumpel :)) diesen Kommentar als Antwort machen Ich werde es als korrigiert markieren – Silwest