使用pyExcelerator使用Django生成动态Excel文件.确保唯一临时文件名
作者:互联网
我想根据Django的请求生成动态Excel文件.库pyExcelerator执行此操作,但我没有找到任何方法来使用Excel文件的内容,而不生成服务器端临时Excel文件,读取它,使用其内容并删除它.
问题是pyExcelerator只提取Excel文件内容的方法是通过以下方式保存它:
workbook = pyExcelerator.Workbook()
workbook.save("tmp_filename")
然后读取临时文件内容.我不能使用标准库“tempfile”,因为它不接受文件,只接受文件名.如何确保文件名是唯一的,并且文件一旦被使用就会被删除?
解决方法:
pyExcelerator是非维护的,但它有一个分支xlwt,它被维护并具有更多功能,包括允许您保存到任何类似文件的对象.这包括直接保存到Django HttpResponse:
from django.http import HttpResponse
import xlwt
def my_view(request):
response = HttpResponse(mimetype="application/ms-excel")
response['Content-Disposition'] = 'attachment; filename="foo.xls"'
wb = xlwt.Workbook()
wb.save(response)
return response
标签:python,excel,django,temporary-files,pyexcelerator 来源: https://codeday.me/bug/20190714/1457276.html