jquery - 使用 jquery ajax 下载 Excel 文件

标签 jquery ajax spring-mvc

嗨,我想使用 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 工作表上它显示为 [对象][对象]

最佳答案

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

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

关于jquery - 使用 jquery ajax 下载 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094681/

相关文章:

php - Symfony2 : Prevent duplicate in database with form Many to One

MVC 中启用 AJAX WCF 服务?

spring - 如何给出特定输入字段特有的类型不匹配错误消息?

java - Spring mvc @PathVariable 给出 'The request sent by the client was syntactically incorrect.'

javascript - 如何根据 CSS 类和二进制数字开/关位置突出显示特定列值

javascript - 如何计算可变高度

PHP 从不同 div 容器中的两个表单发送(由 ajax 生成)

javascript - jQuery .css 不能只在 Chrome 中工作

jQuery:关于children()函数的问题

spring-mvc - Spring Boot 2 中的侵入性 AsyncRequestTimeoutException