首页后端开发PHP直击PHP使用ajax的post方式下载excel文件简单示例

直击PHP使用ajax的post方式下载excel文件简单示例

时间2024-02-02 09:17:02发布访客分类PHP浏览632
导读:收集整理的这篇文章主要介绍了直击PHP使用ajax的post方式下载excel文件简单示例,觉得挺不错的,现在分享给大家,也给大家做个参考。本文实例讲述了PHP使用ajax的post方式下载excel文件。分享给大家供大家参考,具体如下:项...
收集整理的这篇文章主要介绍了直击PHP使用ajax的post方式下载excel文件简单示例,觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP使用ajax的post方式下载excel文件。分享给大家供大家参考,具体如下:

项目需求,前端发起ajax请求,后端生成excel并下载,同时需要在header头中,带上token验证信息,参考了很多文章,最终实现如下:

相关学习推荐:PHP编程(视频)

PHP后端使用base64:

$filename = 'demo.xlsx';
    $objWrITer = \PHPExcel_IOFactory::createWriter($objectPHPExcel, 'Excel2007');
    ob_start();
    $objWriter->
    save("php://output");
    $xlsData = ob_get_contents();
    ob_end_clean();
    return Api::success(['filename' =>
     $filename, 'file' =>
     "data:application/vnd.ms-excel;
    base64," . base64_encode($xlsData)]);
    

JS前端:

$('.download').click(function(){
        VAR url = "http://xxxx.COM/group/bi/export";
    var params = {
      From_date: '2017-09-01',      to_date: '2017-09-08',      group_id: 1    }
    ;
    $.ajax({
      type:'POST',      url: url,      data: params,      beforeSend: function(request) {
            request.setRequestHeader("Authorization", "token信息,验证身份");
      }
,      success: function(redata) {
            // 创建a标签,设置属性,并触发点击下载        var $a = $("a>
    ");
            $a.attr("href", redata.data.file);
            $a.attr("download", redata.data.filename);
            $("body").append($a);
            $a[0].click();
            $a.remove();
      }
    }
    );
}
    );
    

以上就是直击PHP使用ajax的post方式下载excel文件简单示例的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 直击PHP使用ajax的post方式下载excel文件简单示例
本文地址: https://pptw.com/jishu/596649.html
分析PHP下ajax跨域的解决方案之jsonp实例 学习php+mysql+ajax 局部刷新点赞/取消点赞功能

游客 回复需填写必要信息