PHP 讀寫 Excel 的方法有很多種,例如先轉成 CSV 格式來讀,然後用特定符號去分隔欄位。但是如果遇到欄位格式不固定的 Excel 就很麻煩了,所以需要可以直接操作 excel 的方法,方便直接指定要取某欄某列的值。
如果是 Windows 系統的話可以使用 COM 元件去讀取,但缺點就是只能在 Windows 上跑,失去了跨平台性,所以也有人另外寫出可以讀寫 Excel 的類別,這次要推薦的是 PHPExcel,PHPExcel 的功能非常強大,原本就支援 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更有寫作的動力。
沒有留言:
張貼留言