PHP导出3w条数据成表格
亲测有效,三万条数据秒秒钟导出
先进行数据表插入数据
ini_set('memory_limit','1024M'); //设置程序运行的内存
ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限
ob_end_clean(); //清除内存
ob_start();
$in = 0;
for($i=2880;$i<=30000; $i++) {
$data = ['uname'=>'uname:'.$i, 'aname'=>'账号:'.$i, 'pwd'=>'111'.$i];
$r = DB::table('enroll_activity_admin')->insert($data);
if($in==1000){ //每次写入1000条数据清除内存
$in=0;
ob_flush();//清除内存
}
$in++;
}
ob_end_clean();die;
在进行导出数据
$fileName = '酒店'; $headArr = ['姓名', '账号', '密码']; //表头,名称可自定义 $data = Db::table('enroll_activity_admin')->where('is_del','0')->field('uname,aname,pwd')->select(); ini_set('memory_limit','1024M'); //设置程序运行的内存 ini_set('max_execution_time',0); //设置程序的执行时间,0为无上限 ob_end_clean(); //清除内存 ob_start(); header("Content-Type: text/csv"); header("Content-Disposition:filename=".$fileName.'.csv'); $fp=fopen('php://output','w'); fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); fputcsv($fp,$headArr); $index = 0; foreach ($data as $item) { if($index==1000){ //每次写入1000条数据清除内存 $index=0; ob_flush();//清除内存 flush(); } $index++; fputcsv($fp,$item); } ob_flush(); flush(); ob_end_clean();

浙公网安备 33010602011771号