在php中產生csv檔案的方法很是簡單,這裡我來介紹一下自己用到的一個執行個體,把數組直接轉換成csv檔案輸出,有需要瞭解的朋友可參考。
例
| 代碼如下 |
複製代碼 |
$data = array( array( 'row_1_col_1', 'row_1_col_2', 'row_1_col_3' ), array( 'row_2_col_1', 'row_2_col_2', 'row_2_col_3' ), array( 'row_3_col_1', 'row_3_col_2', 'row_3_col_3' ), ); $filename = "example"; header("Content-type: text/csv"); header("Content-Disposition: attachment; filename={$filename}.csv"); header("Pragma: no-cache"); header("Expires: 0"); outputCSV($data); function outputCSV($data) { $outputBuffer = fopen("php://output", 'w'); foreach($data as $val) { foreach ($val as $key => $val2) { $val[$key] = iconv('utf-8', 'gbk', $val2);// CSV的Excel支援GBK編碼,一定要轉換,否則亂碼 } fputcsv($outputBuffer, $val); } fclose($outputBuffer); } ?> |
例2
看一個讀取csv檔案的執行個體
讀取cvs,使用fgetcsv()檔案指標中讀入一行並解析 CSV 欄位
比如說我要讀取如下csv檔案
| 代碼如下 |
複製代碼 |
/** by www.bKjia.c0m */ $row = 1; $handle = fopen("file.csv","r"); //fgetcsv() 解析讀入的行並找出 CSV格式的欄位然後返回一個包含這些欄位的數組。 while ($data = fgetcsv($handle, 1000, ",")) { $num = count($data); echo " $num fields in line $row: n"; $row++; for ($c=0; $c < $num; $c++) { //注意中文亂碼問題 $data[$c]=iconv("gbk", "utf-8//IGNORE",$data[$c]); echo $data[$c] . " n"; } } fclose($handle); ?> |
http://www.bkjia.com/PHPjc/632920.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632920.htmlTechArticle在php中產生csv檔案的方法很是簡單,這裡我來介紹一下自己用到的一個執行個體,把數組直接轉換成csv檔案輸出,有需要瞭解的朋友可參考。 例...