使用HttpResponse获取Excel文件和其他文本

时间:2018-09-07 05:45:18

标签: python ajax django httpresponse

我正在创建和下载Excel文件。 这是我的服务器

from django.http import HttpResponse
class MyListView(ListAPIView):

    def get(self, request, *args, **kwargs):
        response = HttpResponse(content_type='application/ms-excel')
        response['Content-Disposition'] = 'attachment; filename="qa_data.xlsx"'
        json2xl = JsonToXlsx()

        wb = Workbook()
        """
        add some data to wb. and collecting errors and warnings.
        """
        wb.save(response)
        return response

,然后从我的html中调用它。

    self.location = url;

下载部分进展顺利。

现在我想在我的网页上显示有关excel文件的信息(例如在创建excel时发生错误)

即使部分发生错误,我也需要下载我的excel。因此,我需要返回我的excel文件以及我的信息以显示在网页上。

我尝试添加这样的信息,但无法弄清楚如何在客户端获取信息。

response.write("<p>Here's the text of the Web page.</p>") 
response['info'] = "Here's the text of the Web page."

bellow是我尝试从客户端获取数据的方式。我注意到我的excel数据已返回,但无法保存。

function getDetailListExcel(url) {
    //self.location = url;
    var jqxhr = $.get( url, function(data ) {
        alert( data );
    })
}

谁能告诉我

  1. 我应如何在服务器的响应中添加其他数据。
  2. 我应该怎么做才能下载Excel文件并从响应中提取文本数据。

谢谢。

0 个答案:

没有答案