主页 > 知识库 > PHP使用ajax的post方式下载excel文件简单示例

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

热门标签:服务器配置 Mysql连接数设置 银行业务 科大讯飞语音识别系统 团购网站 Linux服务器 电子围栏 阿里云

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

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

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相关内容可查看本站专题:《PHP+ajax技巧与应用小结》、《php操作office文档技巧总结(包括word,excel,access,ppt)》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:
  • JQuery的AJAX实现文件下载的小例子
  • Ajax请求二进制流进行处理(ajax异步下载文件)的简单方法
  • Ajax实现文件下载
  • Jquery Ajax请求文件下载操作失败的原因分析及解决办法
  • Ajax 生成流文件下载(实现代码)
  • jQuery的ajax下载blob文件
  • 使用Ajax生成的Excel文件并下载的实例
  • jQuery使用动态渲染表单功能完成ajax文件下载
  • SpringMVC+Ajax实现文件批量上传和下载功能实例代码
  • ztree+ajax实现文件树下载功能

标签:大理 蚌埠 衢州 萍乡 衡水 江苏 枣庄 广元

巨人网络通讯声明:本文标题《PHP使用ajax的post方式下载excel文件简单示例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266