Menu

用 PHP 建立 Excel 檔案 (.xls)

有時需要將資料庫內的資料或 PHP 的動態內容儲存成 excel 檔,本文會介紹一個概簡單又實用的方法。

建立 Excel 檔案

如果需要用 PHP 建立 Excel 檔案,只需用一般的檔案處理函式,而檔案名稱儲存成 .xls 副檔名即可,例如:

<?php
$fp = fopen("excel/filename.xls", "w");
fputs($fp, "Mon\tTue\tWed\tThu\tFri\tSat\tSun");fclose($fp);
?>


以上程式碼會在 excel 目錄建立一個名為 filename.xls 的檔案,內容是在第一行寫入一星期七天的英文簡寫,每一欄一天。

實際上與建立一般文字檔的方法一樣,只是如果要跳到下一個欄位,就用 \t 字元,而要跳到下一行,則用 \n 字元。

顯示下載窗口

如果電腦內有安裝 Excel 的話,在預設情況下當在 IE 按了 .xls 副檔名的文件時,IE 不會彈出下載窗口,而是直接顯示內容,以下兩個例子可避免這情況:

直接將內容輸出給瀏覽器下載
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=php_excel.xls");

echo "Mon\tTue\tWed\tThu\tFri\tSat\tSun"
?>


讀取已存在的檔案給瀏覽器下載
<?php
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=php_excel.xls");

readfile("excel/filename.xls");
?>


上面使用了 header() 傳送檔頭資訊給瀏覽器,可使瀏覽器出現下載窗口,而預設儲存的檔案名稱是 php_excel.xls。


====================================================
歡迎轉載,但轉載時請保留此宣告,不得作為商業用途
作者: Sam Tang <admin{at}phpini{dot}com>
來源網站: http://www.phpdc.com/