php导出文件.csv

导出类.php

/**
 * 数据导出到excel(csv文件)
 * @param $filename         导出的csv文件名称 如date("Y年m月j日").'-test.csv'
 * @param array $tileArray  所有列名称,一维数组['姓名','年龄',....]
 * @param array $dataArray  所有列数据,二维数组['zhangsan','22',....]
 */
public static function exportToExcel($filename, $tileArray=[], $dataArray=[]){
    ini_set('memory_limit','512M');
    ini_set('max_execution_time',0);

    //ob_end_clean();
    //ob_start();

    header("Content-Type: text/csv");
    header("Content-Disposition:filename=".$filename);
    $fp = fopen('php://output','w');
    fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF)); //转码 防止乱码(比如微信昵称(乱七八糟的))
    fputcsv($fp,$tileArray);

    $index = 0;
    foreach ($dataArray as $item) {
        if($index == 1000){
            $index = 0;
            //ob_flush();
            //flush();
        }
        $index ++;
        fputcsv($fp, $item);
    }

    //ob_flush();
    //flush();
    //ob_end_clean();
}

测试代码

$header = ['姓名','年龄'];
$data = [];
for ($i=1; $i<= 1500000; $i ++) {
    $tmp['title'] = '张三'.$i;
    $tmp['age'] = rand(1,80);
    $data[] = $tmp;
}
self::exportToExcel('调研所有数据记录_'.date("YmdHis").'.csv', $header, $data);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值