yii框架 excel导出

环境: yii框架 basic版

1.下载 PHPexcel  (我用的是PHPExcel-1.8.1)

2.将下载的文件夹 (PHPExcel-1.8.1)放至 vender下  (路径:basic/vender/PHPExcel-1.1.8.1)

3.在控制器中引入 PHPExcel.php

require(__DIR__.'../../vendor/PHPExcel-1.8.1/Classes/PHPExcel.php');

  //导出excel表格
    public  function actionExport()
    {
          //查订单表   查出数据
        $sql = "select yuyue.id,indent,user,time,hao,movie from user join yuyue on `user`.id=yuyue.u_id  join indent on `user`.id=indent.u_id ";
        $data = yii::$app->db->createCommand($sql)->queryAll();

        require(__DIR__.'../../vendor/PHPExcel-1.8.1/Classes/PHPExcel.php');
        $name = 'Excelfile'; //生成的Excel文件名
        $excel = new PHPExcel;
        //设置
        $excel->getProperties()->setCreator('转弯的月光') //创建人
        ->setLastModifiedBy('转弯的阳光')  //最后修改认
        ->setTitle('数据EXCEL导出')  //标题
        ->setSubject('数据EXCEL到处')  //题目
        ->setDescription('备份数据')  //描述
        ->setKeywords('excel')  //关键字
        ->setCategory('result file');   //种类

        /*-----------------------------以上设置不重要------------------------------------------*/
        //以下就是对处理Excel里的数据,横着取数据,主要是这一步
        foreach ($data as $k=>$v)
        {
            $num = $k+2;
            $excel->setActiveSheetIndex(0)
                ->setCellValue('B1','预约ID')
                ->setCellValue('C1','预约号')
                ->setCellValue('D1','预约时间')
                ->setCellValue('E1','预约人')
                ->setCellValue('F1','预约电影')
                ->setCellValue('G1','预约座位')

                ->setCellValue('B'.$num,$v['id'])
                ->setCellValue('C'.$num,$v['indent'])
                ->setCellValue('D'.$num,$v['time'])
                ->setCellValue('E'.$num,$v['user'])
                ->setCellValue('F'.$num,$v['movie'])
                ->setCellValue('G'.$num,$v['hao']);
        }
        $excel->getActiveSheet()->setTitle('USER'); //设置sheet 的名字
        $excel->setActiveSheetIndex(0);
        header('Content-Type:applicationnd.ms-excel');
        header('Content-Disposition:attachment;filename="'.$name.'.xls"');
        header('Cache-Control:max-age=0');
        $objWriter = PHPExcel_IOFactory::createWriter($excel,'Excel5');
        $objWriter->save("php://output");
        exit;

    }
原文地址:https://www.cnblogs.com/xiaotaoing/p/6687404.html