3

Django からの要求に応じて動的な Excel ファイルを生成したいと考えています。ライブラリ pyExcelerator はこれを行いますが、サーバー側の一時的な Excel ファイルを生成し、それを読み取り、その内容を使用して削除することなく、Excel ファイルの内容を使用する方法を見つけられませんでした。

問題は、pyExcelerator が Excel ファイルの内容を抽出する唯一の方法は、次の方法で保存することです。

workbook = pyExcelerator.Workbook()
workbook.save("tmp_filename")

次に、一時ファイルの内容を読み取ります。標準ライブラリ「tempfile」はファイルを受け入れず、ファイル名だけを受け入れるため、使用できません。ファイル名が一意であること、および使用後にファイルが削除されることを確認するにはどうすればよいですか?

4

2 に答える 2

11

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
于 2009-12-11T09:24:59.237 に答える
3

tempfileモジュールを使用できないのはなぜですか?

どうですか:

import tempfile
fd, filename = tempfile.mkstemp()
fd.close()
workbook.save(filename)
于 2009-12-11T09:18:59.483 に答える