這篇文章帶給大家的內容是關於php如何匯出csv檔案(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
/** 如果大量数据导出 支持分页写入 * [DownloadDate 公共导出csv] * @param string $name [文件名称] * @param array $header [表头] * @param array $data [数据集] * @param $is_header [真 假 是否取表头 解决循环写入问题] * @return array name[文件名称] filePath[文件路径] */ public static function DownloadData($name='',$header=array(),$data=array(),$is_header=true){ set_time_limit(0); ini_set('memory_limit','2048M'); header("Content-type:application/vnd.ms-excel"); header("content-Disposition:filename=downloaded.pdf "); try { if (!$name || !$data) { throw new BadRequestHttpException('参数不可为空'); } $filePath = "./temp/download/{$name}.csv"; $header = implode(",",$header); $header = iconv('UTF-8', 'GBK//IGNORE', $header); $header = explode(",", $header); $fp = fopen($filePath, 'a+'); if (!empty($header) && is_array($header) && $is_header) { fputcsv($fp, $header); } foreach ($data as $row) { $str = implode("@@@@",$row); $str = iconv('UTF-8', 'GBK//IGNORE', $str); $str = str_replace(",","|",$str); $row = explode("@@@@", $str); fputcsv($fp, $row); } unset($data); if(ob_get_level()>0){ ob_flush(); } flush(); } catch (Exception $e) { throw new BadRequestHttpException($e->getMessage());//抛出异常 } return [ 'filePath'=>ltrim($filePath,"./"), 'name'=>$name.'.csv', ]; }
相關建議:
php匯出csv檔案:指定編碼匯出與csv檔案匯入與匯出類別
以上是php如何匯出csv檔(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!