php 導(dǎo)出 excel 大數(shù)據(jù)量
最近在做导出数据,用项目中的phpexcel类导出,因为数据量非常大。所以导出数据的时候经常遇到问题,有时php内存溢出,有时请求超时。所以 在网上找了大量的资料自己弄了一个导出实例,仅供参考,大佬勿喷 代码入下
set_time_limit(0); //防止请求超时
$title= [
'ID', 'title','汉字', //excel 表头
];
$path = 'D:/wamp/www/'; //定义下载文件路径
$csvFileName = $path .'log' . date('Ymd') . '.csv';
//打开文件写入
$fp = fopen($csvFileName, 'w');
mb_convert_variables('GBK', 'UTF-8', $title); //汉字编码转换
fputcsv($fp, $columns);//写入表头
$totalData = 1000000;//从数据库获取总量,假设是100w
$pageSize = 1000;//每次查询的条数
$pages = ceil($totalData / $pageSize); //求出总页数分页查询数据
for($i = 1; $i <= $pages; $i++) {
/*$data = 从数据库中查出来的数据;
foreach($data as $value) {
$rowData = [
......//每一行的数据
];
*/
$rowData = [rand(1,99),time(),'汉字']; //测试数据
mb_convert_variables('GBK', 'UTF-8', $rowData);
//写入一行数据
fputcsv($fp, $rowData);
//unset($data);//释放变量的内存 以防内存溢出
}
fclose($fp); //关闭资源 下载完成
exit();
點(diǎn)擊查看更多內(nèi)容
6人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦