找回密碼
 註冊
搜索
查看: 1754|回復: 0

[教學] 資料匯出CSV Excel

[複製鏈接]
發表於 2012-6-13 23:59:16 | 顯示全部樓層 |閱讀模式
 
Push to Facebook
這是個基礎的東西,在設計資料庫匯出做備份時都會需要的。

匯出CSV檔:
  1. header("Content-type: text/x-csv");  
  2. header("Content-Disposition:filename=exportFileName.csv");  
  3. echo iconv("UTF-8","big5", "欄位名1, 欄位名2, ...., 欄位名x\n");  
  4. echo iconv("UTF-8","big5", "資料1, 資料2, ......, 資料x\n");
複製代碼
匯出Excel檔:
  1. header("Content-type:application/vnd.ms-excel");  
  2. header("Content-Disposition:filename=exportFileName.xls");  
  3. echo iconv("UTF-8","big5","欄位1\t欄位2\t, ...\t欄位x\n");  
  4. echo iconv("UTF-8","big5","資料1\t資料2\t, ...\t資料x\n");
複製代碼
差別在於匯出Excel檔的時候每個欄位間隔要加入\t做跳欄動作,至於iconv函式是否一定要用,就看個案需要與否做決定。

應用如下所示(以Excel檔為例):
  1. $sql = "select * from scoretable";  
  2. $rs = $DB_class->DB_query($sql);  
  3. header("Content-type:application/vnd.ms-excel");  
  4. header("Content-Disposition:filename=ScoreTable_buckup.xls");  
  5. while($row = mysql_fetch_array($rs)){  
  6.     echo mb_convert_encoding("$row[examName]\t$row[examDate]\t$row[extensionClassesName]\t$row[examCourses]\t$row[examRange]\t$row[state1]\t$row[state2]\t$row[state3]\t$row[content]\t$row[classAdmin]\n","big5","UTF8");  
  7. }
複製代碼
先做資料庫的select,再來寫入標頭檔header(),接著就是用while迴圈去跑資料庫所擷取出來的資料並且寫入到Excel檔裡就好了。
 
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-5-1 04:21 , Processed in 0.019122 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表