【问题标题】:Maatwebsite, How to download excel using Ajax?Maatwebsite,如何使用 Ajax 下载 excel?
【发布时间】:2023-03-27 00:46:01
【问题描述】:

我正在尝试在 Laravel 中使用 Ajax 调用下载 excel 文件。

我可以使用href直接下载到控制器,但我不认为我可以通过url发送对象

let excel_file = $.ajax({
    type: "get",
    url: "api/../excel/previewExport",
    data: {headers : headObject},
    dataType: "json"
});

但它在浏览器响应中返回原始 excel 数据而不是下载。

我该怎么办?提前谢谢你。

【问题讨论】:

    标签: php jquery laravel maatwebsite-excel


    【解决方案1】:

    使用data href 创建链接并以文件格式下载 xls 数据。

    $.ajax({
       type: "get",
       url: "https://file-examples.com/wp-content/uploads/2017/02/file_example_XLS_10.xls",
       success: function (d){
       var a = document.createElement("a");
       a.download = "filename.xls";
       a.href = "data:application/vnd.ms-excel,"+encodeURI(d);
       document.body.appendChild(a);
       a.click();
       }
    });

    如果这没有下载原始文件,那么你应该使用链接,因为没有剩下的选项:

    window.open('api/../excel/previewExport','_blank');
    

    【讨论】:

    • 我想我会选择 window.open 选项,谢谢 ;)
    • 是的,我注意到原始文件和下载文件的大小不同。
    猜你喜欢
    • 2018-02-28
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 2020-01-30
    相关资源
    最近更新 更多