WalkerDi的技术专栏 PHP and SQL Coder

PHP csv 文件导出

2019-05-01

阅读:

PHP

PHP csv 文件导出

由于使用 PHPExcel 导出的数据量较大时,写入数据会比较慢,若是对数据格式要求不高的情况,可以用csv文件进行代替,csv文件在写入数据占用的内存较小,写入数据比较快。可以利用php 自带的原生方法进行生成csv文件,具体实现代码如下:


	/**
     * @desc 数据导出到excel(csv文件)
     * @param $filename 导出的csv文件名称 如'test.csv'
     * @param array $tile_array 所有列名称
     * @param array $data_array 所有列数据
     */
    public  function export_to_csv($file_name, $tile_array=[], $data_array=[]){
        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=".$file_name);
        $fp=fopen('php://output','w');
        fwrite($fp, chr(0xEF).chr(0xBB).chr(0xBF));//转码 防止乱码
        fputcsv($fp,$tile_array);
        $index = 0;
        foreach ($data_array as $item) {
            if($index==1000){
                $index=0;
                ob_flush();
                flush();
            }
            $index++;
            fputcsv($fp,$item);
        }

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

Similar Posts

Comments