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 相关文章推荐
一个简单的自动发送邮件系统(二)
Oct 09 PHP
php 动态多文件上传
Jan 18 PHP
Search File Contents PHP 搜索目录文本内容的代码
Feb 21 PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
php中print(),print_r(),echo()的区别详解
Dec 01 PHP
php中curl使用指南
Feb 05 PHP
使用PHP生成图片的缩略图的方法
Aug 18 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
Mar 14 PHP
PHP如何将XML转成数组
Apr 04 PHP
Laravel框架生命周期与原理分析
Jun 12 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
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
2018/04/21 PHP
PHP实现基于3DES算法加密解密字符串示例
2018/08/24 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
JavaScript中获取样式的原生方法小结
2014/10/08 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
原生js实现的贪吃蛇网页版游戏完整实例
2015/05/18 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
jQuery获取多种input值的简单实现方法
2016/06/20 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
概述BootStrap中role=&quot;form&quot;及role作用角色
2016/12/08 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
JS设计模式之访问者模式定义与用法分析
2018/02/05 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
2019/05/30 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
Numpy中转置transpose、T和swapaxes的实例讲解
2018/04/17 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
查找廉价航班和发现新目的地:Kiwi.com
2019/02/25 全球购物
乐高瑞士官方商店:LEGO CH
2020/08/16 全球购物
中专生求职自荐信范文
2013/12/22 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
2014年大班元旦活动方案
2014/02/26 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
竞聘开场白方式有哪些?
2019/08/28 职场文书
Nginx解决前端访问资源跨域问题的方法详解
2021/03/31 Servers
redis缓存存储Session原理机制
2021/11/20 Redis