public function exportExcel() { ini_set ('memory_limit', '5555M'); $fh = fopen(PACK_PATH."/demo.csv", 'w') or die("Can't open demo.csv"); $page = 1; while (1){ $limit = 1000; $offset = ($page - 1) * $limit; $where = array(); $start_time ='2018-01-01'; $end_time ='2018-12-31'; $where['date'] = array('between', array($start_time, $end_time)); $list = M('table1')->db(1, 'DB_CONFIG_STATIC')->where($where)->limit("$offset,$limit")->field('str,sum(num) as num,date')->group('str')->select(); if($list){ foreach($list as $k => $v){ $v['str'] = str_replace('\\','',$v['str']); $totle = M('table2')->db(1, 'DB_CONFIG_STATIC')-> where(sprintf("str = '%s'",$v['str'])) -> sum('total'); $leader_val = array( str_replace('','',$v['str']), $v['num'], $totle?$totle:0 ); unset($totle); if (fputcsv($fh, array_values($leader_val)) === false) { die("Can't write CSV line"); } } unset($list); unset($leader_val); echo '第' . $page . '页占用内存大小:' . memory_get_usage() / 1024 . "kb\n"; echo json_encode(array('status' => 200, 'page' => $page)) . "\n"; $page++; }else{ echo 'code died please reboot'; exit(); } } }
PHP csv文件导出 导出表格
最新推荐文章于 2021-04-08 13:24:34 发布