用 PHP 輕易讀寫 Excel 2003 與 2007 檔案的套件
2008/10/06
PHP 讀寫 Excel 的方法有很多種,例如先轉成 CSV 格式來讀,然後用特定符號去分隔欄位。但是如果遇到欄位格式不固定的 Excel 就很麻煩了,所以需要可以直接操作 excel 的方法,方便直接指定要取某欄某列的值。
如果是 Windows 系統的話可以使用 COM 元件去讀取,但缺點就是只能在 Windows 上跑,失去了跨平台性,所以也有人另外寫出可以讀寫 Excel 的類別,這次要推薦的是 PHPExcel,PHPExcel 的功能非常強大,原本就支援 Excel 2007,新版中也能讀取 Excel 2003 舊版的 Excel 囉!
從 PHPExcel 下載回來的檔案中就包含不少範例,但是讀取的部份很簡略,所以底下貼個讀取 Excel 內容的範例:
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . './Classes/');
include 'PHPExcel/IOFactory.php';
$reader = PHPExcel_IOFactory::createReader('Excel5'); // 讀取舊版 excel 檔案
$PHPExcel = $reader->load("course_table.xls"); // 檔案名稱
$sheet = $PHPExcel->getSheet(0); // 讀取第一個工作表(編號從 0 開始)
$highestRow = $sheet->getHighestRow(); // 取得總列數
// 一次讀取一列
for ($row = 2; $row <= $highestRow; $row++) {
for ($column = 1; $column <= 9; $column++) {
$val = $sheet->getCellByColumnAndRow($column, $row)->getValue();
echo $val . ' ';
}
echo "<br />";
}
?>