首先下载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. VC++运行库 集32位/64位整合版

    运行程序时,win7/win10(x86和x64)常会遇到缺少什么缺少msvc***.dll问题 安装下面链接提供的程序,安装后,便可解决. [2016-10-10]Microsoft Visual ...

  2. php判断手机段登录,以及phpcms手机PC双模板调用

    首先一段php代码判断是否为手机浏览: function isMobile() { // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP ...

  3. 逆向 AWS API 设计

    由于AWS并没有像Google一样公开出一份API Design Guide,所以只能根据 API 的模样去逆向工程最初的设计考量.既然上一篇介绍了很多 REST 的缺陷,那么这里也会介绍一下 AWS ...

  4. Objective-C RunTime 学习笔记 之 基础结构体

    1.OC 运行期常用对象结构体 基本的结构体定义 typedef objc_class Class; /* 类 */ typedef objc_object *id; /* 各种类型,只要第一个字段为 ...

  5. j2ee高级开发技术课程第六周

    一.jsf(java server faces)的运行原理(工作方式) 1.jsf应用是事件驱动的,当一个事件发生时(比如用户单击一个按钮),事件通知通过HTTP发往服务器,服务器端使用叫做Faces ...

  6. Linux如何编写自启动shell脚本

    1.需求分析 在很多情况下,程序员都做着重复枯燥的工作,虽然这些工作也是必须的,其实这些重复性的工作可以执行脚本替代:今天笔者就如何编写自启动shell脚本减少程序员开启服务器后的环境开启工作: 2. ...

  7. FTR-B3GA003Z-信号继电器

    IC名称:B3GA003Z 数据手册:链接:https://pan.baidu.com/s/1MNe-fcKNAnuXyRLxhfUhjA 密码:6mo2 芯片自拍照: 封装尺寸以及引脚说明: 信号电 ...

  8. 处理centos6或者7依赖关系(Nginx、MySQL、PHP)的方法

     yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel  ...

  9. flutter 常用插件

    audio_recorder: any #录音.播放 flutter_sound: ^1.1.5#录音 dropdown_menu: ^1.1.0#下拉菜单 simple_permissions:#权 ...

  10. linux --- 6. 项目部署

    一.负载均衡 .准备三台机器,准备3台虚拟机,或者和俩同桌交流一下 192.168.226.128 是nginx资源服务器,返回页面的 192.168.226.129 用作nginx负载均衡服务器 1 ...