Export function:
/ * * Implement common data export function * @param $ expTitle export file name * @param $ expCellName export file column names * @param $ expTableData export data * / function export_excel ($ expTitle, $ expCellName, $ expTableData) { $ xlsTitle = iconv ( 'utf-8', 'gb2312', $ expTitle); // file name $ fileName = $ expTitle; // or $ xlsTitle file name may be set according to its own $ cellNum = COUNT (expCellName $); $ dataNum COUNT = ($ expTableData); $ objPHPExcel new new PHPExcel = (); // a method $ cellName = 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' , 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', ' AK ',' AL ',' AM ',' AN ',' AO ',' AP ',' AQ ',' AR ',' AS ',' AT ',' AU ',' AV ',' AW ' , 'AX', 'AY', 'AZ'); // set the head derived Remark $ objPHPExcel-> getActiveSheet (0) - > mergeCells ( 'A1:' $ cellName [$ cellNum - 1] '..1 '); // merge cells $ objPHPExcel-> setActiveSheetIndex (0) - > setCellValue (' A1 derived time ', $ expTitle.': '. DATE (' Ymd H: I: S ')); // Set column name for ($ I = 0; $ I <$ cellNum; $ I ++) { $ objPHPExcel->. setActiveSheetIndex (0) -> setCellValue ($ cellName [$ I] '2', $ expCellName [$ I] [. 1 ]); } // assignment} // assignment} // assignment for ($ I = 0; $ I <$ dataNum; $ I ++) { for ($ J = 0; $ J <$ cellNum; $ J ++) { IF (isset ($ expTableData [$ I] [$ expCellName [$ J ] [0]])) { $ objPHPExcel-> getActiveSheet (0) -> setCellValue ( . $ cellName [$ J] (I + $. 3), $ expTableData [$ I] [$ expCellName [$ J] [0] ] ); } the else { $ objPHPExcel-> getActiveSheet (0) -> setCellValue ( $ cellName [$ J] (I + $. 3.), '' ); } } } ob_end_clean (); // this step is very critical, to clear the buffer to prevent distortion derived excel header ( 'pragma: public') ; header ( 'the Content-type: file application / vnd.ms-Excel; charset = UTF-. 8; name = "' $ xlsTitle '* .xls.."'); header ( "the Content-Disposition: Attachment; filename = $ fileName. xls "); //" xls "refer to a note at $ objWriter = \ PHPExcel_IOFactory :: createWriter ( $ objPHPExcel, 'Excel 5' ); //" Excel2007 "generation 2007 version of xlsx," Excel5 "generation 2003 version of XLS $ objWriter-> Save ( 'PHP: // Output'); }
The function then, assembled so that their data:
// download file name $ expTitle = 'the Test'; // field name corresponding to the title $ expCellName = [ [ 'name', 'name'], [ 'Age', 'Age'], [ 'Sex', 'gender' ] ]; // data assembled $ expTableData = [ [ 'name' => '. 1', 'Age' => 18 is, 'Sex' => 'M'], [ 'name' => '2', 'Age '=> 18,' sex ' =>' M '], [' name '=>'. 3 ',' Age '=> 18,' sex ' =>' M '], [' name '=>'. 4 ',' age '=> 18 ,' sex '=>' M '] ];
// call the exported function
export_excel ($ expTitle, $ expCellName, $ expTableData)