1
我想在Django網站上生成一個excel文件,所以我搜索了它,看看this example。我只寫了一個函數,將我需要的東西寫入Excel文件;Django HttpResponse Excel
def create_excel(personal_information):
output = StringIO.StringIO()
book = xlsxwriter.Workbook(output)
sheet = book.add_worksheet()
if personal_information['name']:
sheet.write(1, 1, personal_information['name'], text_format)
book.close()
output.seek(0)
return output
在我的view.py;
def export(request):
personal_information = json.loads(request.POST.get('personal_data'))
output = create_excel(personal_information)
response = HttpResponse(output.read(), content_type="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename=Excel.xls'
return response
但是,那給了「無」。你有什麼想法解決我的問題嗎?
謝謝。在你的函數create_excel :在你看來
output = io.BytesIO()
workbook = xlsxwriter.Workbook(output)
.... your code .....
at the end of your function
# close workbook
workbook.close()
xlsx_data = output.getvalue()
return xlsx_data
:
如果你'呈現響應之前打印output'會發生什麼?輸出是否正確形成?另外,你的'return response'語句是否正確縮進?它似乎不在問題中...... – rnevius
@rnevius是的我無法正確複製和粘貼代碼,但是在我的原始代碼中沒有縮進問題。當我在返回之前打印輸出時,它會給出「」。當我調試它時,我可以看到有一些未知數字的響應內容。 –
waterkinq
另外我需要說的是,我試圖從彈出窗口中的按鈕獲取excel文件。我的意思是也許我需要處理它? – waterkinq