若沒安裝請到:鏈接地址 https://www.phpcomposer.com/這里安裝 composer
安裝過的,cmd切換到項目根目錄運行:composer require phpoffice/phpexcel
然后等待一會
說明裝成功了。
然后在用到的控制器或者文件中引用
命名空間
use PHPExcel;//tp5.1用法
use PHPExcel_IOFactory;
在用到的方法里直接調用
$objPHPExcel=new \PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
// 設置列的寬度
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(25);
// 設置表頭
$objPHPExcel->getActiveSheet()->SetCellValue('A1', '訂單號');
$objPHPExcel->getActiveSheet()->SetCellValue('B1', '標題');
$objPHPExcel->getActiveSheet()->SetCellValue('C1', '金額');
//$objPHPExcel->getActiveSheet()->getStyle('A2')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
//存取數據
$num = 2;
foreach ($data as $k => $v) {
$objPHPExcel->getActiveSheet()->SetCellValue('A' . $num, ' '.$v['order_no']); //防止訂單號過長變成科學計算問題所以在訂單號前拼接空字符,轉化為字符串。 ' '.$v['order_no']
$objPHPExcel->getActiveSheet()->SetCellValue('B' . $num, $v['title']);
$objPHPExcel->getActiveSheet()->SetCellValue('C' . $num, $v['finance_money']);
$num++;
}
// 文件名稱
$fileName = "訂單信息" . date('Y-m-d', time()) . rand(1, 1000);
$xlsName = iconv('utf-8', 'gb2312', $fileName);
$objPHPExcel->getActiveSheet()->setTitle('sheet'); // 設置工作表名
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); //下載 excel5與excel2007
ob_end_clean(); // 清除緩沖區,避免亂碼
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate,post-check=0,pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl;charset=UTF-8");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header("Content-Disposition:attachment;filename=" . $xlsName . ".xls");
header("Content-Transfer-Encoding:binary");
$objWriter->save("php://output");