該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。
不過我下載回來的 (版本 2007-07-05 19:57),有兩點要注意:
- reader.php 中的下面這行要修改
將 require_once 'Spreadsheet/Excel/Reader/OLERead.php';
改為 require_once 'oleread.inc'; - example.php 中
修改 $data->setOutputEncoding('CP1251');
為 $data->setOutputEncoding('CP950');
不然中文會有問題。
修改 $data->read('jxlrwtest.xls');
為自己的 excel 檔檔名,zip 檔中附的 jxlrwtest.xls 應該是壞了。
試著在不同機器上測試,同一個程式,卻發現有一台機器的輸出有問題,Excel 中的所有中文字都沒讀出來。由於 Excel 的中文是以 'UTF-16LE' 的編碼儲存,所以 phpExcelReader 是利用 php 中的 iconv 來轉碼,而那台機器的 libiconv 版本太舊了,才會無法正常的轉碼。我將 FreeBSD 上的 libiconv 更新為 libiconv-1.11_1,並且重新編譯 php4-iconv 的 ports,安裝完新版的 php4-iconv 後,中文就可以正常的輸出了。
不過,在編譯 php4-iconv 的 ports 時出現了小插曲,原來的 php4 是使用 autoconf253,但是一直出現下面的錯誤訊息:
- configure: error: tag name "CXX" already exists
- WANT_AUTOCONF_VER= 253
- WANT_AUTOCONF_VER= 259
感謝你提供的修改方式!!
回覆刪除已經成功讀取EXCEL黨~
是否可以再請教你一個問題
就是如果讀取檔案時EXCEL目前是無換行的讀出
如果希望讀的時候可以按照EXCEL的格式讀出是否有這樣的方式可以執行@@