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