使用Spyne发送XLS

时间:2016-09-09 16:30:35

标签: python excel web-services spyne

我有问题..

我想通过spyne通过webservices发送XLS,但我需要,如果这个URL

http://127.0.0.1:5000/download/file?A=1

将被按下,整个XLS将下载。这可能吗?

这是我的代码:

class xlsDownload(spyne.Service):
    __service_url_path__ = '/download';
    __in_protocol__ = HttpRpc(validator='soft');
    __out_protocol__ = MessagePackDocument()#HtmlRowTable()#MessagePackRpc()

    @spyne.srpc(Unicode, _returns=File)
    def Function(A):
        GetXLS(A)
        return File.Value(data=open("File.xls", 'rb', type='application/vnd.ms-excel');

有人可以告诉我,如果我可以使用Spyne下载整个XLS(我可以在点击URL后对该文件执行任何操作)吗?

非常感谢, 祝你有个美好的一天

1 个答案:

答案 0 :(得分:0)

所以,这就是Flask

@app.route("/download/file")
def xlsDownload(A):
    GetXLS(A)
    response = Response(bytearray(open("file.xls", "rb").read()))
    response.headers["Content-Type"] = "application/vnd.ms-excel"
    response.headers["Content-Disposition"] = "attachment; filename = file.xls"
    return response

你会问:

http://127.0.0.1:5000/download/file?A=1

我希望这有时会对某人有所帮助.. :)