PHP如何使用ajax的发布方式下载excel文件

  介绍

本篇文章为大家展示了PHP如何使用ajax的发布方式下载excel文件,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

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


PHP后端使用base64:

$ filename=& # 39; demo.xlsx& # 39;;   $ objWriter=\ PHPExcel_IOFactory:: createWriter (objectPHPExcel美元,& # 39;Excel2007& # 39;);   ob_start ();   美元objWriter→保存(“php://output");   $ xlsData=ob_get_contents ();   ob_end_clean ();   返回Api::成功([& # 39;文件名# 39;=比;文件名,美元& # 39;文件# 39;=比;“数据:应用程序/vnd.ms-excel; base64,“。base64_encode (xlsData美元)]);

JS前端:

美元(& # 39;.download& # 39;) .click(函数(){   var url=癶ttp://xxxx.com/group/bi/export";   var params={   from_date: & # 39; 2017 - 09 - 01 & # 39;,   to_date: & # 39; 2017 - 09 - 08 - & # 39;,   group_id: 1   };   . ajax({美元   类型:& # 39;文章# 39;   url: url、   数据:参数,   beforeSend:函数(请求){   request.setRequestHeader (“Authorization",“令牌信息,验证身份“);   },   成功:函数(redata) {//创建一个标签,设置属性,并触发点击下载   var $=$ (“& lt; a>“);   美元a.attr (“href" redata.data.file);   美元a.attr (“download" redata.data.filename);   (“body") .append美元(美元);   一个美元[0].click ();   美元a.remove ();   }   });   });

上述内容就是PHP如何使用ajax的发布方式下载excel文件,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

PHP如何使用ajax的发布方式下载excel文件