Excel は広く使用されているオフィス ソフトウェアの 1 つで、製品の価格表や注文情報の表などの大量のデータが含まれています。多くの場合、その後のデータ分析、データマイニング、その他の操作を行うために、Excel からデータを抽出して処理する必要があります。この記事では、PHP を使用して Excel のデータをクエリする方法について説明します。
1. 準備
まず、PHP で Excel ファイルを読み取るための PHPExcel ライブラリをインストールする必要があります。 PHPExcel は、Excel ファイルの読み取りと書き込みに使用される PHP クラス ライブラリであり、複数の Excel 形式をサポートしています。 PHPExcel ライブラリをインストールするには、コマンド ラインで次のコマンドを実行してください:
composer require phpoffice/phpexcel
インストールが完了したら、PHPExcel クラス ファイルを PHP ファイルに導入します:
require 'vendor/autoload.php';
次に、 Excel ファイルを準備します。そのパスは /var/www/excel/data.xlsx であり、ワークシート Sheet1 が含まれており、データは次のとおりであると仮定します。 2. データのクエリ
準備作業が完了したら、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 からデータをクエリできます。 3. サンプル コード上記は、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) "男" } }4. 概要この記事では、PHPExcel ライブラリを使用して Excel からデータをクエリする方法を紹介します。具体的な手順は次のとおりです: PHPExcel クラスをインスタンス化し、Excel ファイルをロードし、ワークシートを取得し、行数と列数を取得し、ワークシートを走査してデータを取得します。この記事の紹介を通じて、学生は Excel からデータを取得する基本的な方法を習得できます。
以上がPHP を使用して Excel からデータをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。