工作中經常會有遇到匯入/匯出的需求,下面是常用的方法。
讀取csv檔案,可以分頁讀取,設定讀取行數,起始行數即可。
匯出csv檔案,用兩種方法進行實現。
1/**2* 讀取csv檔案
3* @param string $csv_file csv檔案路徑
4* @param int $lines 讀取行數
5* @param int $offset 起始行數
6* @return array|bool7*/
8public
function read_csv_lines($csv_file = '', $lines = 0, $offset = 0)913
$i = $j = 0;
14while (false !== ($line = fgets($fp
)))
18break;19
}20$data = array
();21
while (($j++ < $lines) && !feof($fp
)) 24
fclose($fp
);25
return
$data;26
}27/**
28* 匯出csv檔案
29* @param array $data 資料
30* @param array $header_data 首行資料
31* @param string $file_name 檔名稱
32* @return string
33*/
34public
function export_csv_1($data = , $header_data = , $file_name = '')
3541
foreach ($data
as$key => $value
) 47}48
/**49* 匯出csv檔案
50* @param array $data 資料
51* @param array $header_data 首行資料
52* @param string $file_name 檔名稱
53* @return string
54*/
55public
function export_csv_2($data = , $header_data = , $file_name = '')
5665 fputcsv($fp, $header_data
);66}67
$num = 0;
68//
每隔$limit行,重新整理一下輸出buffer,不要太大,也不要太小
69$limit = 100000;
70//
逐行取出資料,不浪費記憶體
71$count = count($data
);72
if ($count > 0)
81$row = $data[$i
];82
foreach ($row
as$key => $value
) 85 fputcsv($fp, $row
);86}87
}88fclose($fp
);89 }
PHP匯出CSV檔案
經常會碰到需要從資料庫中匯出資料到excel檔案,用一些開源的類庫,比如phpexcel,確實比較容易實現,但對大量資料的支援很不好,很容易到達php記憶體使用上限。這裡的方法是利用fputcsv寫csv檔案的方法,直接向瀏覽器輸出excel檔案。輸出excel檔案頭,可把user.csv換成你要的...
php讀取csv檔案
開始討論php操作csv檔案的問題之前,我們先首先了解一下什麼是csv檔案。csv是最通用的一種檔案格式,它可以非常容易地被匯入各種pc 及資料庫中。此檔案,一行即為資料表的一行。生成資料表字段用半形逗號隔開。了解到這裡我們看清楚了csv檔案的最大特點,以行排列,每行中的每個數值用逗號隔開。看到這裡...
PHP 讀取 CSV 檔案
最近做了相關的功能,從 csv 格式的檔案中讀取資料,然後進行操作,下面用例項 記錄下。fgetcsv 從檔案指標中讀入一行並解析 csv 字段 如果提供了無效的檔案指標,fgetcsv 會返回null。其他錯誤,包括碰到檔案結束時返回false,csv 檔案示例如下 例項 如下 function ...