PHP 讀取 匯出 CSV檔案

2022-08-04 10:24:09 字數 1687 閱讀 5022

工作中經常會有遇到匯入/匯出的需求,下面是常用的方法。

讀取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 ...