2010年8月17日 星期二

在PHP中將Excel檔轉出

過去要把Excel資料匯入到MySQL,都是先轉成CSV檔,然後再匯到MySQL。
更好的方式是把Excel資料直接上傳到MySQL,省掉轉CSV的動作。這個想法已經很久了,只是一直沒有去做。剛好最近有個小問題,需要用到這個功能,於是求助股溝大師找尋相關資料。並經過半天的測試,終於搞定。

這支程式稱為phpExcelReader,它可以讀取並上傳Excel的工作表。不過我在其他文章中有看到,這支程式只適用於Office 2003,讀取Office 2007時會出現錯誤。因為我手上沒有Office 2007,所以無法測試。直接進入主題:

1.首先到以下網址下載這支程式(壓縮檔)
http://sourceforge.net/projects/phpexcelreader/

2.將phpExcelReader這個檔案解壓縮後,把這個目錄放到php可執行的根目錄下。

3.測試執行時這支程式時,會出現錯誤,因此需要修改phpExcelReader\Excel\ reader.php這支程式。將 require_once 'Spreadsheet/Excel/Reader/OLERead.php'è改為 require_once 'oleread.inc';

4.接下來可以開始實測了。phpExcelReader有附一個範例檔(example.php),我加入說明如下:

5.之後你可以將輸出的資料,做任何處理。例如塞到MySQL。

這支程式真的很方便,解決我的問題,推薦給有需要的人使用。