php 导出数据到csv格式
csv是一种常用的无格式类型的文件,以逗号进行分隔,类似excel。
csv可以作为数据存储的一种形式,与excel相比,它的优点就是打开速度更快,粗略估计大概快了接近15倍左右。
以前写过一篇文章,是用来网页下载excel文档,但是数据过大之后,因为样式的原因,以及一些其他原因,造成excel读取缓慢,Google了一下,没有找到最好的解决办法,不过记得以前看过一篇文章,说csv比excel快,抱着试试的态度,写了以下的代码:
<?php header("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 "; ob_end_flush(); foreach($list as $rs) { echo $rs[0].",".$rs[1].",".$rs[2].",".$rs[3].",".$rs[4]." "; flush(); } ?>代码很简单,直接使用循环即可,只需要注意csv格式的文件需要使用“逗号”进行分隔,并且需要将其放到双引号中,在每行结局加上换行就好了,经测试,打开速度一流,足够应付大部分的需求了,不过如果数据过大还是会溢出内存,这就需要对数据进行分片处理了
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: hdfs集群间数据迁移
- 下一篇: 关于求矩阵主对角线元素之和及副对角线元素之和的问题