TShopping

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

[教學] 資料匯出CSV Excel

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

匯出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, 2016-12-11 18:15 , Processed in 0.053577 second(s), 18 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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