PHP yii2.0利用PHPexcel导出excel

2 篇文章 0 订阅
1 篇文章 0 订阅

可以用composer来安装PHPexcel,也可以在下载以后放入项目目录。

composer安装:

composer require "phpoffice/phpexcel": "*"

PHPexcel下载地址:https://github.com/PHPOffice/PHPExcel/archive/1.8.zip

做完准备工作我们就可以开始调用了。

composer安装的话,直接应用命名空间就可以

下载的类可以这样调用:

require dirname(dirname(__FILE__)).'/PHPExcel/PHPExcel.php';

然后我们就可以使用啦,以下是简单使用的代码:

            $objectPHPExcel = new \PHPExcel();
            //设置表格头的输出
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('A1', '管家');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('B1', '协助');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('C1', '最新报价1');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('D1', '最新目的地1');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('E1', '最新报价2');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('F1', '最新目的地2');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('G1', '订单编号');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('H1', '接单日期');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('I1', '企业名称');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('J1', '出行日期');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('K1', '天数');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('L1', '人数');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('M1', '一级状态');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('N1', '二级状态');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('O1', '最近更新时间');
            $objectPHPExcel->setActiveSheetIndex()->setCellValue('P1', '最新联系记录');


            //指定开始输出数据的行数
            $n = 2;
            foreach ($rrow as $v){
                $objectPHPExcel->getActiveSheet()->setCellValue('A'.($n) ,$v['real_name']);
                $objectPHPExcel->getActiveSheet()->setCellValue('B'.($n) ,$v['adju_name']);
                $objectPHPExcel->getActiveSheet()->setCellValue('C'.($n) ,$v['latest_offer1']);
                $objectPHPExcel->getActiveSheet()->setCellValue('D'.($n) ,$v['latest_destination1']);
                $objectPHPExcel->getActiveSheet()->setCellValue('E'.($n) ,$v['latest_offer2']);
                $objectPHPExcel->getActiveSheet()->setCellValue('F'.($n) ,$v['latest_destination2']);
                $objectPHPExcel->getActiveSheet()->setCellValue('G'.($n) ,$v['id']);
                $objectPHPExcel->getActiveSheet()->setCellValue('H'.($n) ,$v['created_at']);
                $objectPHPExcel->getActiveSheet()->setCellValue('I'.($n) ,$v['company_name']);
                $objectPHPExcel->getActiveSheet()->setCellValue('J'.($n) ,$v['time_start']);
                $objectPHPExcel->getActiveSheet()->setCellValue('K'.($n) ,$v['route_day_name']);
                $objectPHPExcel->getActiveSheet()->setCellValue('L'.($n) ,$v['people_num']);
                $objectPHPExcel->getActiveSheet()->setCellValue('M'.($n) ,$v['status1']);
                $objectPHPExcel->getActiveSheet()->setCellValue('N'.($n) ,$v['status2']);
                $objectPHPExcel->getActiveSheet()->setCellValue('O'.($n) ,$v['Ccreated_at']);
                $objectPHPExcel->getActiveSheet()->setCellValue('P'.($n) ,$v['message']);
                $n = $n +1;
            }
            ob_end_clean();
            ob_start();
            header('Content-Type : application/vnd.ms-excel');

            //设置输出文件名及格式
            header('Content-Disposition:attachment;filename="客户数据'.date("YmdHis").'.xlsx"');

            //导出.xls格式的话使用Excel5,若是想导出.xlsx需要使用Excel2007
            $objWriter= \PHPExcel_IOFactory::createWriter($objectPHPExcel,'Excel2007');
            $objWriter->save('php://output');
            ob_end_flush();

            //清空数据缓存
            unset($rrow);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值