首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pyExcelerator生成动态Excel文件。确保临时文件名唯一

用pyExcelerator生成动态Excel文件。确保临时文件名唯一
EN

Stack Overflow用户
提问于 2009-12-11 17:03:33
回答 2查看 2K关注 0票数 3

我想根据Django的请求生成一个动态Excel文件。库pyExcelerator可以做到这一点,但是我还没有找到任何方法来使用Excel文件的内容,而不是生成一个服务器端临时Excel文件,读取它,使用它的内容并删除它。

问题是pyExcelerator提取Excel文件内容的唯一方法是通过以下方式保存它:

代码语言:javascript
复制
workbook = pyExcelerator.Workbook()
workbook.save("tmp_filename")

然后读取临时文件内容。我不能使用标准库"tempfile“,因为它不接受文件,只接受文件名。如何确保文件名是唯一的,并确保文件在使用后被删除?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-11 17:24:59

pyExcelerator是不需要维护的,但是它有一个分支,xlwt,它是被维护的,并且有更多的特性,包括允许你保存到任何类似文件的对象。这包括直接保存到Django HttpResponse

代码语言:javascript
复制
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
票数 11
EN

Stack Overflow用户

发布于 2009-12-11 17:18:59

为什么不能使用tempfile模块?

这样如何:

代码语言:javascript
复制
import tempfile
fd, filename = tempfile.mkstemp()
fd.close()
workbook.save(filename)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1886744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档