php 导出数据到csv格式

来源:互联网 发布:fast rcnn tensorflow 编辑:程序博客网 时间:2024/05/29 03:13

csv是一种常用的无格式类型的文件,以逗号进行分隔,类似excel。

csv可以作为数据存储的一种形式,与excel相比,它的优点就是打开速度更快,粗略估计大概快了接近15倍左右。

以前写过一篇文章,是用来网页下载excel文档,但是数据过大之后,因为样式的原因,以及一些其他原因,造成excel读取缓慢,Google了一下,没有找到最好的解决办法,不过记得以前看过一篇文章,说csv比excel快,抱着试试的态度,写了以下的代码:

<?phpheader("Content-Type: application/force-download");header("Content-type:text/csv;charset=utf-8");header("Content-Disposition:filename=".date("YmdHis").".csv");$list = array();for($i = 0 ; $i < 100 ; ++$i){   for($j = 0 ; $j < 100 ; ++$j){        $list[] = array($i,$j,$i+$j,$i-$j,$i*$j);    } }echo "one,two,three,four,five\r";ob_end_flush();foreach($list as $rs){    echo $rs[0].",".$rs[1].",".$rs[2].",".$rs[3].",".$rs[4]."\r";    flush();}?>
代码很简单,直接使用循环即可,只需要注意csv格式的文件需要使用“逗号”进行分隔,并且需要将其放到双引号中,在每行结局加上换行就好了,经测试,打开速度一流,足够应付大部分的需求了,不过如果数据过大还是会溢出内存,这就需要对数据进行分片处理了

0 0
原创粉丝点击