[PHP] 匯出 Excel

用 PHP 匯出 Excel 最簡單的方法。

1. 先在 Header 設定輸出的格式跟檔名。
  1. header("Content-type:application/vnd.ms-excel");   
  2. header("Content-Disposition:filename=output.xls");  


2. 一樣把資料用表格畫出來就好了
  1. echo '<HTML xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">'."\n";   
  2. echo '<head><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"></head>'."\n";   
  3. echo '<body>';   
  4. echo "<table>";   
  5. echo "<tr>   
  6.     <th>編號</th>   
  7.     <th>時間</th>   
  8.     <th>項目</th>   
  9.     <th>訂購人</th>   
  10.     <th>email</th>   
  11.     <th>電話</th>   
  12.     <th>收件人</th>   
  13.     <th>收件地址</th>   
  14.     <th>總金額</th>   
  15.     <th>付款方式</th>   
  16.     <th>狀態</th>   
  17.     <th>說明</th>   
  18.         </tr>";   
  19. while($row=$result->fetch(PDO::FETCH_OBJ)){    
  20. //DATA from DB   
  21. }   
  22. echo "</table>";   
  23. echo '</body></html>';  


3. 要製作下載連結的話只要把網址指定給他就可以了,使用變數可以用這個方法。
  1. $("#export_excel").click(function(){   
  2.       $startDate=$("#startDate").val();   
  3.       $endDate=$("#endDate").val();   
  4.       window.open("order-output.php?startDate="+$startDate+"&endDate="+$endDate, "_blank");   
  5. });  



留言

小新大人寫道…
您好,我參考您的程式製作後,發現結果是直接印在網頁上,請問是不是因為我的主機沒有安裝EXCEL的緣故呢? 請抽空解惑一下,謝謝!!