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

详解PHP如何高效导出Excel(CSV),第1张

概述详解PHP如何高效导出Excel(CSV) 本篇文章带大家介绍PHP如何高效导出Excel(CSV)。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。

如果你导出的Excel没有什么高级用法的话,只是做导出数据用那么建议使用本方法,要比PHPexcel要高效的多。

二十万数据导出大概需要23秒。

 /** * 导出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)全部内容,希望文章能够帮你解决详解PHP如何高效导出Excel(CSV)所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/997263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存