【问题标题】:Download Excel file using jquery ajax使用 jquery ajax 下载 Excel 文件
【发布时间】:2016-08-23 07:17:04
【问题描述】:

您好,我想使用 spring mvc ajax 调用下载 XLX 文件。下面是我对服务器的 ajax 调用。

 $.ajax({
    type : 'GET',
    url : 'downloadExcel',
    beforeSend : function() {
        startPreloader();
    },
     complete: function(){
         stopPreloader();
     },
    success : function(response){
        console.log(response);
            var blob = new Blob([response], { type: 'application/vnd.ms-excel' });
            var downloadUrl = URL.createObjectURL(blob);
            var a = document.createElement("a");
            a.href = downloadUrl;
            a.download = "downloadFile.xlsx";
            document.body.appendChild(a);
            a.click();
    }
});

这是我的服务器代码

@RequestMapping(value = "/downloadExcel", method = RequestMethod.GET)
    @ResponseBody
    public List<LicenceType> downloadExcel() {
        return licenceTypeService.findAllLicenceType();
    }

我的代码实际上下载了 excel 文件,但在 excel 表上它显示为 [Object][Object]

【问题讨论】:

  • 为什么要使用 ajax?为什么没有&lt;a href="downloadExcel" download="downloadFile.xlsx"&gt;Download&lt;/a&gt;
  • 我需要 ajax 方式。

标签: jquery ajax spring-mvc


【解决方案1】:

我知道这已经快一年了,但它对我有用:

var blob = new Blob([response], { type: 'data:application/vnd.ms-excel' }); 

【讨论】:

    【解决方案2】:

    &lt;script src="//cdn.rawgit.com/rainabba/jquery-table2excel/1.1.0/dist/jquery.table2excel.min.js"&gt;&lt;/script&gt;

        $("#Xcel").click(function () {
            $("#Tab").table2excel({
                exclude: '.exclude',
                filename: 'MatchedSDNListNames.xls'
            });
        })
    

    如果您希望将表格导入为 excel,这是一个不错的选择。

    【讨论】:

      猜你喜欢
      • 2022-10-12
      • 1970-01-01
      • 2014-12-30
      • 2019-01-11
      • 2012-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      相关资源
      最近更新 更多