php 导出数据到csv格式

6 篇文章 0 订阅
5 篇文章 0 订阅

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\r";
ob_end_flush();
foreach($list as $rs)
{
    echo $rs[0].",".$rs[1].",".$rs[2].",".$rs[3].",".$rs[4]."\r";
    flush();
}
?>
代码很简单,直接使用循环即可,只需要注意csv格式的文件需要使用“逗号”进行分隔,并且需要将其放到双引号中,在每行结局加上换行就好了,经测试,打开速度一流,足够应付大部分的需求了,不过如果数据过大还是会溢出内存,这就需要对数据进行分片处理了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值