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 extract 将数组拆分成多个变量的函数
Jun 30 PHP
有关php运算符的知识大全
Nov 03 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
在Windows XP下安装Apache+MySQL+PHP环境
Feb 22 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
ThinkPHP和UCenter接口冲突的解决方法
Jul 25 PHP
thinkphp3.2.3版本的数据库增删改查实现代码
Sep 22 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
php使用curl下载指定大小的文件实例代码
Sep 30 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
Jun 12 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 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 PDO函数库详解
2010/04/27 PHP
ThinkPHP CURD方法之data方法详解
2014/06/18 PHP
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
php使用自定义函数实现汉字分割替换功能示例
2017/01/30 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
javascript封装简单实现方法
2015/08/11 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python中文件操作简明介绍
2015/04/13 Python
python实现简单的单变量线性回归方法
2018/11/08 Python
Python中的取模运算方法
2018/11/10 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
关于python 跨域处理方式详解
2020/03/28 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python urllib2运行过程原理解析
2020/06/04 Python
在html页面中取得session中的值的方法
2020/08/11 HTML / CSS
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
大学生自我鉴定
2013/12/16 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
创业融资计划书
2014/04/25 职场文书
师德模范事迹材料
2014/06/03 职场文书
医院员工辞职信范文
2015/05/12 职场文书
校园安全主题班会
2015/08/12 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书