这个导出excel的方法,只需要准备好导出的标题及对应内容两项。就可快速导出我们需要的excel文件。
导出方法:/**
* @param $filename 导出的xls文件名称 如date("Y年m月j日").'file.xls'
* @param array $tileArray 所有列名称
* @param array $dataArray 所有列数据
*/
public function exportToExcel($filename, $tileArray=[], $dataArray=[]){
ini_set('memory_limit','512M');
ini_set('max_execution_time',0);
ob_end_clean();
ob_start();
header("Content-Type: text/csv");
header("Content-Disposition:filename=".$filename);
$fp=fopen('php://output','w');
fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));//转码 防止乱码(比如微信昵称(乱七八糟的))
fputcsv($fp,$tileArray);
$index = 0;
foreach ($dataArray as $item) {
if($index==1000){
$index=0;
ob_flush();
flush();
}
$index++;
fputcsv($fp,$item);
}
ob_flush();
flush();
ob_end_clean();
}
使用方法:$title = "a标题,b标题,c标题,d标题";
$datalist = Db::name('product')->field('a,b,c,d')->select();
$title = explode(',',$title);
exportToExcel('file'.time().'.xls',$title,$datalist);
就是这么简单,哈哈。希望对大家有所帮助。