Excel 是廣泛使用的辦公室軟體之一,其中包含了大量的數據,例如商品價格表、訂單資訊表等等。而在許多情況下,我們需要從 Excel 中擷取資料進行處理,以便進行後續的資料分析、資料探勘等操作。本文將介紹如何使用 PHP 從 Excel 查詢資料。
一、準備工作
首先,我們需要安裝 PHPExcel 函式庫,以便在 PHP 中讀取 Excel 檔案。 PHPExcel 是一個 PHP 類別函式庫,用來讀寫 Excel 文件,支援多種Excel格式。要安裝PHPExcel 庫,請同學在命令列下執行以下命令:
composer require phpoffice/phpexcel
安裝完成後,在PHP 檔案中引入PHPExcel 類別檔案:
require 'vendor/autoload.php';
接下來,我們需要準備一個Excel 文件,假設它的路徑為/var/www/excel/data.xlsx,其中包含了一個工作表sheet1,資料如下圖所示:
二、查詢資料
有了準備工作後,我們就可以使用PHPExcel 函式庫來查詢資料了。具體步驟如下:
1、實例化PHPExcel 類別:
$objPHPExcel = new PHPExcel();
2、載入Excel 檔案:
$objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load('/var/www/excel/data.xlsx');
其中,Excel2007 表示讀取Excel 2007 以上版本的文件,如果需要讀取其他版本的Excel 文件,請參考官方文件。
3、取得工作表:
$sheet = $objPHPExcel->getActiveSheet();
4、取得行數與列數:
$rowCount = $sheet->getHighestRow(); //行数 $columnCount = $sheet->getHighestColumn(); //列数 $columnCount = PHPExcel_Cell::columnIndexFromString($columnCount);
其中,PHPExcel_Cell::columnIndexFromString() 方法用於將Excel 欄位名稱轉換成列索引,從而取得列數。
5、遍歷工作表,取得資料:
$data = array(); for ($rowIndex = 1; $rowIndex getCellByColumnAndRow($columnIndex, $rowIndex)->getValue(); $data[$rowIndex-1][$columnIndex] = $cellValue; } }
以上程式碼中,我們透過嵌套for 循環,遍歷工作表的每一行和每一列,然後使用getCellByColumnAndRow() 方法取得單元格的值,並將其儲存到$data 數組中,最後得到的$data 數組結構如下:
array( array('姓名', '年龄', '性别'), array('张三', 20, '男'), array('李四', 25, '女'), array('王五', 30, '男'), )
這樣,我們就可以從Excel 中查詢資料了。
三、範例程式碼
以上是從Excel 查詢資料的具體步驟,以下給出完整的範例程式碼,供同學們參考:
require 'vendor/autoload.php'; $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load('/var/www/excel/data.xlsx'); $sheet = $objPHPExcel->getActiveSheet(); $rowCount = $sheet->getHighestRow(); $columnCount = $sheet->getHighestColumn(); $columnCount = PHPExcel_Cell::columnIndexFromString($columnCount); $data = array(); for ($rowIndex = 1; $rowIndex getCellByColumnAndRow($columnIndex, $rowIndex)->getValue(); $data[$rowIndex-1][$columnIndex] = $cellValue; } } var_dump($data);
輸出結果如下:
array(4) { [0]=> array(3) { [0]=> string(6) "姓名" [1]=> string(6) "年龄" [2]=> string(6) "性别" } [1]=> array(3) { [0]=> string(6) "张三" [1]=> float(20) [2]=> string(3) "男" } [2]=> array(3) { [0]=> string(6) "李四" [1]=> float(25) [2]=> string(3) "女" } [3]=> array(3) { [0]=> string(6) "王五" [1]=> float(30) [2]=> string(3) "男" } }
四、總結
本文介紹如何使用PHPExcel 函式庫從Excel 查詢數據,具體步驟為:實例化PHPExcel 類別、載入Excel 檔案、取得工作表、取得行數和列數、遍歷工作表,取得資料。透過本文的介紹,同學可以掌握從 Excel 取得資料的基本方法。
以上是如何使用 PHP 從 Excel 查詢數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!