介绍
本篇文章为大家展示了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文件