TP5导出excel文件

导出依赖: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');
}

猜你喜欢

转载自blog.csdn.net/arv002/article/details/112361512