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


Posted in PHP onAugust 06, 2019

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
在PHP中PDO解决中文乱码问题的一些补充
Sep 06 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
php 批量生成html,txt文件的实现代码
Jun 26 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
php实现计算百度地图坐标之间距离的方法
May 05 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
PHP三种方式实现链式操作详解
Jan 21 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
Nov 13 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP中的自动加载操作实现方法详解
Aug 06 #PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 #PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 #PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 #PHP
thinkPHP5框架接口写法简单示例
Aug 05 #PHP
ThinkPHP5+UEditor图片上传到阿里云对象存储OSS功能示例
Aug 05 #PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 #PHP
You might like
PHP 定界符 使用技巧
2009/06/14 PHP
php对数组排序代码分享
2014/02/24 PHP
PHP实现显示照片exif信息的方法
2014/07/11 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
thinkPHP框架实现的无限回复评论功能示例
2018/06/09 PHP
php和redis实现秒杀活动的流程
2019/07/17 PHP
JavaScript Distilled 基础知识与函数
2010/04/07 Javascript
js解析与序列化json数据(二)序列化探讨
2013/02/01 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
JavaScript声明变量名的语法规则
2015/07/10 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
jQuery 的 ready()的纯js替代方法
2016/11/20 Javascript
提高JavaScript执行效率的23个实用技巧
2017/03/01 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
微信小程序实现点击按钮修改字体颜色功能【附demo源码下载】
2017/12/05 Javascript
vue使用jsonp抓取qq音乐数据的方法
2018/06/21 Javascript
element-ui中dialog弹窗关闭按钮失效的解决
2020/09/22 Javascript
在Python下尝试多线程编程
2015/04/28 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
python如何定义带参数的装饰器
2018/03/20 Python
python绘制热力图heatmap
2020/03/23 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
你懂得怎么写自荐信吗?
2013/12/27 职场文书
优秀中学生事迹材料
2014/01/31 职场文书
2014优秀党员事迹材料
2014/08/14 职场文书
假释思想汇报范文
2014/10/11 职场文书
拾金不昧表扬信
2015/01/16 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
python解析照片拍摄时间进行图片整理
2022/07/23 Python