首先下载phpexcel

在引入类文件(在web中index.php入口文件或者控制器中引入)

require_once dirname(dirname(__FILE__)).'/excel/PHPExcel.php';
require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/IOFactory.php';
require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/Reader/Excel5.php';
require_once dirname(dirname(__FILE__)).'/excel/PHPExcel/Reader/Excel2007.php';

然后在控制器中写

public  function actionExport()
{
         $objPHPExcel = new \PHPExcel();
        /*以下是一些设置 ,什么作者  标题啊之类的*/
        $objPHPExcel->getProperties()->setCreator("电影")
            ->setLastModifiedBy("电影")
            ->setTitle("数据EXCEL导出")
            ->setSubject("数据EXCEL导出")
            ->setDescription("备份数据")
            ->setKeywords("excel")
            ->setCategory("result file");
        //测试数据
        $sql="select order_id,user_true_name,movie,seat,order_num from orders ";
        $data = \yii::$app->db->createCommand($sql)->queryAll();

   //excel表中表头
        $title=array('order_id'=>'id','user_true_name'=>'账号姓名','movie'=>'电影名称','seat'=>'座位','order_num'=>'订单号');
        Array_unshift($data,$title);
//        print_r($data);die;
        /*以下就是对处理Excel里的数据, 横着取数据,主要是这一步,其他基本都不要改*/
        foreach($data as $k => $v){
            $num=$k+1;
            $objPHPExcel->setActiveSheetIndex(0)

//Excel的第A列,uid是你查出数组的键值,下面以此类推
                ->setCellValue('A'.$num, $v['order_id']) //A1 A2
                ->setCellValue('B'.$num, $v['user_true_name'])
                 ->setCellValue('C'.$num, $v['movie'])
                ->setCellValue('D'.$num, $v['seat'])
                 ->setCellValue('E'.$num, $v['order_num']);
//                ->setCellValue('F'.$num, $v['cate_id']);
                 
        }
        //设置活动工作簿的标题
        $objPHPExcel->getActiveSheet()->setTitle('1502E');
        //设置当前工作簿为第一个工作簿
        $objPHPExcel->setActiveSheetIndex(0);
        //以文件下载的方式输出
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename="'.time().'.xlsx"');
        header('Cache-Control: max-age=0');
        $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
        $objWriter->save('php://output');
    }

yii2 中excel表导出的更多相关文章

  1. Yii2中多表关联查询(join、joinwith)

    我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order      (id  order_name ...

  2. [moka同学笔记]Yii2中多表关联查询(join、joinwith) (摘录)

    表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       cu ...

  3. Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)(转)

    我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_ ...

  4. Yii2.0中文开发向导——Yii2中多表关联查询(join、joinwith)

    我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_ ...

  5. Yii2中多表关联查询(hasOne、hasMany、join、joinwith)

    表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order      (id  order_name  customer_id ...

  6. 【最后的冲刺】android中excel表的导入和数据处理

    [最后的冲刺]android中excel表的导入和数据处理 ——学校课程的查询和修改 1.编写 The Class类把课程表courses.db当做一个实体类,hashcode和equals这两个类是 ...

  7. jfinal中excel表格导出

    今天工作中遇到了excel表格导出的操作,还好有写好的模板,不然我也是焦头烂额,下面记录一下excel表格导出的操作步骤,同时用来给正在学习jfinal的小伙伴一些参考和学习. 首先我们需要把表格查询 ...

  8. Excel表导出

     前言 分别介绍两种导出Exce表格的方法和读取Excel表格数据方法. 1.在MVC下的表格导出. 2.基于NPOI的表格导出. 3.读取Excel表格数据. 第一种方法:在MVC下的表格导出. 首 ...

  9. 关于Java中excel表格导出的总结(Java程序导出模板和Java根据模板导出表格两种实现方式)

    导出excel通用模板(程序定义模板导出) 转载原文:https://www.jianshu.com/p/5c7b359a159c 如下代码,本方法主要用于程序定义模板格式,并导出文件.该方法将定义和 ...

随机推荐

  1. Cocos2d-js3.3 模态对话框的实现

    首先,先了解一下什么是模态对话框,百度百科的给出了下面一个定义: 模态对话框(Modal Dialogue Box,又叫做模式对话框),是指在用户想要对对话框以外的应用程序进行操作时,必须首先对该对话 ...

  2. Unity中实现人物平滑转身

    using UnityEngine; public class PlayerController : MonoBehaviour { ; ; ; void Update() { hor = Input ...

  3. Why Choose MB SD C5 with Engineer Software

    MB SD C5 with engineer software performed good and now is released. Unlike the old clone C5 which us ...

  4. 20190402 管道符,分号,单引号,双引号,&&的使用

    :分号叫顺序执行 格式:命令:命令 && :前一条命令执行成功,后面命令继续执行:前面命令执行失败,后者不执行 格式:命令+空格&&空格+命令 || :两管道逻辑执行, ...

  5. Redis学习-list数据类型

    list类型是一个链表结构,主要功能有push,pop等.而且list是一个双向链表,可以通过相关操作进行集合的头部或者尾部添加,删除元素. lpush key string 在key对应的list的 ...

  6. jQuery循环

    1.循环数组.对象: .$each(数组/对象,结果函数),即.$(arr,function(x,y) {...} ) 如果是数组,则函数中的x表示索引,y表示索引对应的值,只传递一个参数的话则表示索 ...

  7. Python3 pip命令报错:Fatal error in launcher: Unable to create process using '"'

    Python3 pip命令报错:Fatal error in launcher: Unable to create process using '"' 一.问题 环境:win7 同时安装py ...

  8. Docker Macvlan 介绍 or 工作原理

    Docker Macvlan Network Macvlan Network:属于Docker的网络驱动. Macvlan Network:Docker主机网卡接口逻辑上分为多个子接口,每个子接口标识 ...

  9. 3. Dubbo原理解析-Dubbo内核实现之动态编译 (转)

    转载自  斩秋的专栏  http://blog.csdn.net/quhongwei_zhanqiu/article/details/41577159 我们运行的Java代码,一般都是编译之后的字节码 ...

  10. 尚硅谷面试第一季-17Redis 在项目中的使用场景

    数据类型 使用场景 String 比如说 ,我想知道什么时候封锁一个IP地址.Incrby命令 Hash 存储用户信息[id,name,age] Hset(key,field,value) Hset( ...