2014年11月19日 星期三

PHPExcel 的使用方式整理(三)讀取Excel檔

PHPExcel 除了可以產生 Excel 檔之外,他還可以讀取 Excel2003、Excel2007 等… 資料檔 

假設我們要讀取一個 Excel2003 的資料檔,檔名為 test_01.xls

其內容如下:



以 PHPExcel 來做,程式碼應該是這樣

// 檔案名稱:phpexcel_example_03.php

// 引入 PHPExcel 函式庫
include_once "Classes/PHPExcel.php";

// 指定資料檔名稱
$fileName = 'test_01.xls';
// 也可以是 Excel 資料檔,例如: test_01.xlsx

// 取得資料檔的型式
$fileType = PHPExcel_IOFactory::identify($fileName);

// 產生 Reader 物件
$objReader = PHPExcel_IOFactory::createReader($fileType);

// 產生 PHPExcel 物件來幫忙我們處理 Excel 檔案
$objPHPExcel = $objReader->load($fileName);

// 將活頁簿裏的第一張工作表設為要操作的工作表
$objWorksheet = $objPHPExcel->getSheet(0); 

// 取得資料列數
$highestRow = $objWorksheet->getHighestRow(); 

/// 讀取 A1 儲存格的資料
$A1 = $objWorksheet->getCell("A1")->getValue();
// 讀取 B1 儲存格的資料
$B1 = $objWorksheet->getCellByColumnAndRow(1, 1)->getValue();

// 因為有中文資料,所以要有這行
header("Content-Type:text/html; charset=utf-8");

echo "$A1 $B1";

// 讀取其他列的資料
for($row = 2; $row <= $highestRow; $row++) {
    echo $objWorksheet->getCellByColumnAndRow(0, $row)->getValue();
    echo " ";
    echo $objWorksheet->getCellByColumnAndRow(1, $row)->getValue();
    echo " ";
}

範例檔 phpexcel_example_03.php

沒有留言: