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 相关文章推荐
VML绘图板②脚本--VMLgraph.js、XMLtool.js
Oct 09 PHP
PHP文件上传实例详解!!!
Jan 02 PHP
php环境配置 php5 MySQL5 apache2 phpmyadmin安装与配置图文教程
Mar 16 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
显示程序执行时间php函数代码
Aug 29 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php判断两个日期之间相差多少个月份的方法
Jun 18 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
May 13 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
Nov 14 PHP
php 中奖概率算法实现代码
Jan 25 PHP
详细解读php的命名空间(一)
Feb 21 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
ThinkPHP缓存方法S()概述
2014/06/13 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
destoon调用企业会员公司形象图片的实现方法
2014/08/21 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
jquery实现搜索框常见效果的方法
2015/01/22 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
移动端界面的适配
2017/01/11 Javascript
Javascript实现数组中的元素上下移动
2017/04/28 Javascript
Node.js中流(stream)的使用方法示例
2017/07/16 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
2017/07/24 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
深入理解python try异常处理机制
2016/06/01 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python实现爬取图书封面
2018/07/05 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
python利用opencv保存、播放视频
2020/11/02 Python
校企合作协议书
2014/04/16 职场文书
银行进社区活动总结
2014/07/07 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
2015年办公室工作总结范文
2015/03/31 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
关于分班的感言
2015/08/04 职场文书
2019年七夕情人节浪漫祝福语大全!
2019/08/08 职场文书
创业计划书之青年旅馆
2019/09/23 职场文书
jquery插件实现搜索历史
2021/04/24 jQuery