您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 恩施分类信息网,免费分类信息发布

详解PHP如何高效导出Excel(CSV)

2025/4/6 23:30:45发布31次查看
本篇文章带大家介绍php如何高效导出excel(csv)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
php高效导出excel(csv)csv,是comma separated value(逗号分隔值)的英文缩写,通常都是纯文本文件。
如果你导出的excel没有什么高级用法的话,只是做导出数据用那么建议使用本方法,要比phpexcel要高效的多。
二十万数据导出大概需要2到3秒。
 /** * 导出excel(csv) * @data 导出数据 * @headlist 第一行,列名 * @filename 输出excel文件名 */function csv_export($data = array(), $headlist = array(), $filename) {      header('content-type: application/vnd.ms-excel');    header('content-disposition: attachment;filename='.$filename.'.csv');    header('cache-control: max-age=0');      //打开php文件句柄,php://output 表示直接输出到浏览器    $fp = fopen('php://output', 'a');        //输出excel列名信息    foreach ($headlist as $key => $value) {        //csv的excel支持gbk编码,一定要转换,否则乱码        $headlist[$key] = iconv('utf-8', 'gbk', $value);    }      //将数据通过fputcsv写到文件句柄    fputcsv($fp, $headlist);        //计数器    $num = 0;        //每隔$limit行,刷新一下输出buffer,不要太大,也不要太小    $limit = 100000;        //逐行取出数据,不浪费内存    $count = count($data);    for ($i = 0; $i < $count; $i++) { $num++; //刷新一下输出buffer,防止由于数据过多造成问题 if ($limit == $num) { ob_flush(); flush(); $num = 0; } $row = $data[$i]; foreach ($row as $key => $value) {            $row[$key] = iconv('utf-8', 'gbk', $value);        }        fputcsv($fp, $row);    }  }
推荐:《php视频教程》以上就是详解php如何高效导出excel(csv)的详细内容。
恩施分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product