导出依赖:PHPExcel,需要网上下载。
参数传递:
$lists_datas,tp5直接select出来的数据。
id,标识数据库的字段。date:数据库字段,user_name:数据库字段。
$list_grids=[
'id'=>['title'=>'id'],
'date'=>['title'=>'日期'],
'user_name'=>['title'=>'工号'],
'name'=>['title'=>'姓名']
];
function export_file($list_grids,$lists_datas,$filename=""){
if(count($lists_datas) ==0 ){
return ;
}
vendor("PHPExcel");
$objPHPExcel = new \PHPExcel();
$objSheet = $objPHPExcel->getActiveSheet();
$rows = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U'];
$i = 0;
foreach($list_grids as $key => $item){
$rows_name = $rows[$i]."1";
$i++;
$objSheet->setCellValue($rows_name, $item['title']);
}
foreach( $lists_datas as $key => $item){
$line = $key + 2;
$i = 0;
foreach($list_grids as $key2 => $item2){
$rows_name = $rows[$i].$line;
$i++;
$objSheet->setCellValue($rows_name, $item[$key2]);
}
}
// 输出Excel表格到浏览器下载
ob_end_clean();//清除缓冲区,避免乱码
if(empty($filename)){
$filename=date("YmdHis");
}
$filename = $filename.date("YmdHis");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
// If you're serving to IE 9, then the following may be needed
header('Cache-Control: max-age=1');
// If you're serving to IE over SSL, then the following may be needed
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); // always modified
header('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header('Pragma: public'); // HTTP/1.0
$objWriter = new \PHPExcel_Writer_Excel5($objPHPExcel);
$objWriter->save('php://output');
}