1.百度搜索 PHPexcel (這是一個PHP類庫)
2.下載的文件放到vendor里(這是tp5專門放置類庫文件的)
下面是代碼
/** * 導出 */ public function export(){ $xlsData = Db('user')->select(); Vendor('PHPExcel.PHPExcel');//調用類庫,路徑是基於vendor文件夾的 Vendor('PHPExcel.PHPExcel.Worksheet.Drawing'); Vendor('PHPExcel.PHPExcel.Writer.Excel2007'); $objExcel = new \PHPExcel(); //set document Property $objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007'); $objActSheet = $objExcel->getActiveSheet(); $key = ord("A"); $letter =explode(',',"A,B,C,D,E,F"); $arrHeader = array('姓名','公司','職位','郵箱','狀態'); //填充表頭信息 $lenth = count($arrHeader); for($i = 0;$i < $lenth;$i++) { $objActSheet->setCellValue("$letter[$i]1","$arrHeader[$i]"); }; //填充表格信息 foreach($xlsData as $k=>$v){ $k +=2; $objActSheet->setCellValue('A'.$k,$v['username']); $objActSheet->setCellValue('B'.$k, $v['company']); // // 圖片生成 // $objDrawing[$k] = new \PHPExcel_Worksheet_Drawing(); // $objDrawing[$k]->setPath('public/static/admin/images/profile_small.jpg'); // // 設置寬度高度 // $objDrawing[$k]->setHeight(40);//照片高度 // $objDrawing[$k]->setWidth(40); //照片寬度 // /*設置圖片要插入的單元格*/ // $objDrawing[$k]->setCoordinates('C'.$k); // // 圖片偏移距離 // $objDrawing[$k]->setOffsetX(30); // $objDrawing[$k]->setOffsetY(12); // $objDrawing[$k]->setWorksheet($objPHPExcel->getActiveSheet()); // 表格內容 $objActSheet->setCellValue('C'.$k, $v['position']); $objActSheet->setCellValue('D'.$k, $v['email']); $objActSheet->setCellValue('E'.$k, $v['statuid'] == 1?'正常':'失效'); // 表格高度 $objActSheet->getRowDimension($k)->setRowHeight(20); } $width = array(20,20,15,10,10,30,10,15); //設置表格的寬度 $objActSheet->getColumnDimension('A')->setWidth($width[5]); $objActSheet->getColumnDimension('B')->setWidth($width[1]); $objActSheet->getColumnDimension('C')->setWidth($width[0]); $objActSheet->getColumnDimension('D')->setWidth($width[5]); $objActSheet->getColumnDimension('E')->setWidth($width[5]); $outfile = "人員表.xls"; ob_end_clean(); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header('Content-Disposition:inline;filename="'.$outfile.'"'); header("Content-Transfer-Encoding: binary"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Pragma: no-cache"); $objWriter->save('php://output'); }
如果寫的不對 請一定告知我