我有一个下载按钮,可以将数据下载到xlsx文件中。所以在views.py中我有这个代码来生成带有数据的xlsx文件,但我不知道如何自动下载它,请发送帮助。
import os
import csv
import io
import xlsxwriter
from django.http.response import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from pathlib import Path
@csrf_exempt
def TestDl(request):
if request.method == 'POST':
try:
downloads_path = str(Path.home() / "Downloads")
path = downloads_path + "/demo.xlsx"
# Create an new Excel file and add a worksheet.
workbook = xlsxwriter.Workbook(path)
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 50)
# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})
# Write some simple text.
worksheet.write('A1', 'Hello')
# Text with formatting.
worksheet.write('A2', 'World', bold)
# Write some, with row/column notation.
worksheet.write(2, 3, 312) # Number automatically positioned at the right side of a column
worksheet.write(2, 8, 'asd')
worksheet.write(3, 5, 'hfgh')
worksheet.write(5, 2, '312')
workbook.close()
return JsonResponse({"result": "success"}, safe=False)
except:
return JsonResponse({"result": "error"}, safe=False)
return JsonResponse({"result": "failed"}, safe=False)发布于 2021-09-11 11:17:22
当我已经有了解决方案时,忘记回答这个问题。无论如何,我所做的是在静态文件夹中创建了一个文件夹,然后将其设置为保存所创建的xlsx文件的路径。
然后将这些代码添加到我声明下载单击函数的javascript中。
downloadURI(static_path, filename)
function downloadURI(uri, name) {
var link = document.createElement("a");
link.download = name;
link.href = uri;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
delete link;
}https://stackoverflow.com/questions/68962039
复制相似问题