可以用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);