//使用这个方法
$result是查询出来的数组。 $indexKey = array('CardT','zd','ls','sTime','num','price'); //excel表头内容 $header = array('CardT'=>'卡号','zd'=>'终端号','ls'=>'流水号','sTime'=>'刷卡时间','num'=>'票数','price'=>'单张票价'); $filename="订单".date('Y-m-d').rand(0,9999); array_unshift($result,$header); $this->toExcel($result,$filename,$indexKey,1,true);
//要调取的方法 function toExcel($list,$filename,$indexKey,$startRow=1,$excel2007=false){ //文件引入 //把下载下来的插件重新命名为PHPExcel,放在extend中 require_once '/extend/PHPExcel/PHPExcel/IOFactory.php'; require_once '/extend/PHPExcel/PHPExcel.php'; require_once '/extend/PHPExcel/PHPExcel/Writer/Excel2007.php'; ob_end_clean(); if(empty($filename)) $filename = time(); if( !is_array($indexKey)) return false; $header_arr = array('A','B','C','D','E','F','G','H','I','J','K','L','M', 'N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); //初始化PHPExcel() $objPHPExcel = new \PHPExcel(); //设置保存版本格式 if($excel2007){ $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel); $filename = $filename.'.xlsx'; }else{ $objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel); } //接下来就是写数据到表格里面去 $objActSheet = $objPHPExcel->getActiveSheet(); $startRow = 1; foreach ($list as $row) { foreach ($indexKey as $key => $value){ //这里是设置单元格的内容 $objActSheet->setCellValue($header_arr[$key].$startRow,$row[$value]); } $startRow++; } // 下载这个表格,在浏览器输出 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"); header("Content-Type:application/octet-stream"); header("Content-Type:application/download"); header('Content-Disposition:attachment;filename='.$filename.''); header("Content-Transfer-Encoding:binary"); $objWriter->save('php://output'); }