python - 使用 pyExcelerator 通过 Django 生成动态 Excel 文件。确保唯一的临时文件名

标签 python django excel temporary-files pyexcelerator

我想根据 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 - 使用 pyExcelerator 通过 Django 生成动态 Excel 文件。确保唯一的临时文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1886744/

相关文章:

java - 配置 Salt API - Java

c# - 将 ListView 导出为 Excel 格式

vba - Excel VBA 将范围复制并粘贴到另一张工作表后清除范围

vba - 矩阵的幂

Django - 无法获取 Highcharts 来显示数据

python - python/pandas 中的条件聚合

python - 从二进制数据创建一个 gtk.gdk.Pixbuf

python - 许多独立的伪随机图,每个图对于任何输入 x 都具有相同的任意 y

python - Dict一键对Dics列表进行分组

django - 在 Django 官方教程中注册应用程序