如何将数据导出成CSV格式?

可以直接循环数组数据,使用 fwrite 或 fputs 将拼装好的每行的数据写入文件中。

更好的办法是,使用 fputcsv 函数,可以直接将一个数组保存成逗号分隔的一行数据。

直接看代码:

function downloadAsCsvFile( array &$csvTitle, array &$csvData, $fileName='' ) {
    if(empty($fileName)){ //保存的文件名称
      $fileName = 'download_'.date('Ymd_His');
    }
    header('Content-type: application/csv');
    header('Content-Transfer-Encoding: binary; charset=utf-8');
    header('Content-Disposition: attachment; filename='.$fileName.'.csv');
    $fp = fopen("php://output", 'w');
    //生成BOM头
    fputs($fp, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) ));
    //生成标题栏
    fputcsv($fp, $csvTitle);
    foreach ($csvData as $row) {
        fputcsv($fp, $row);
    }
    exit();
}

————————————————
版权声明:本文为CSDN博主「Wang123net」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cnwyt/article/details/84874471

posted @ 2019-12-03 15:51  张志健  阅读(1793)  评论(0编辑  收藏  举报