用 PHP 讀寫 Excel 檔案

PHP 讀寫 Excel 的方法有很多種,例如先轉成 CSV 格式來讀,然後用特定符號去分隔欄位。但是如果遇到欄位格式不固定的 Excel 就很麻煩了,所以需要可以直接操作 excel 的方法,方便直接指定要取某欄某列的值。

如果是 Windows 系統的話可以使用 COM 元件去讀取,但缺點就是只能在 Windows 上跑,失去了跨平台性,所以也有人另外寫出可以讀寫 Excel 的類別,這次要推薦的是 PHPExcelPHPExcel 的功能非常強大,原本就支援 Excel 2007,新版中也能讀取 Excel 2003 舊版的 Excel 囉!

PHPExcel 下載回來的檔案中就包含不少範例,但是讀取的部份很簡略,所以底下貼個讀取 Excel 內容的範例:

   1: <?php



   2: set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');



   3: include 'PHPExcel/IOFactory.php';



   4:  



   5: $reader = PHPExcel_IOFactory::createReader('Excel5'); // 讀取舊版 excel 檔案



   6: $PHPExcel = $reader->load("course_table.xls"); // 檔案名稱



   7: $sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始)



   8: $highestRow = $sheet->getHighestRow(); // 取得總列數



   9:  



  10: // 一次讀取一列



  11: for ($row = 2; $row <= $highestRow; $row++) {



  12:  



  13:     for ($column = 1; $column <= 9; $column++) {



  14:         $val = $sheet->getCellByColumnAndRow($column, $row)->getValue();



  15:         echo $val . ' ';



  16:     }



  17:     echo "<br />";



  18:  



  19: }






原文出處:http://blog.linym.net/archives/229



若對PHP讀取Excel有興趣的朋友,可參考下方延伸閱讀所推薦的那本書;那一少數以Excel為主題的PHP相關書籍,建議對這方面有興趣的朋友,是一本不容錯過的好書。



延伸閱讀:

[好書推薦]Excel+PHP Web資料庫開發應用實務



如果覺得這篇文章對您有所幫助,在觀看完文章之餘,希望能點選下方方廣告,當作是對YOGO的支持,讓YOGO更有寫作的動力。








留言

這個網誌中的熱門文章

用PHP寄MAIL的方法

ImageMagick應用大全(一)

php安裝openssl的方法