ホームページ  >  記事  >  バックエンド開発  >  PHP を使用して Excel からデータをクエリする方法

PHP を使用して Excel からデータをクエリする方法

PHPz
PHPzオリジナル
2023-04-26 10:34:501729ブラウズ

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 ライブラリを使用してデータをクエリできます。具体的な手順は次のとおりです: PHP を使用して Excel からデータをクエリする方法

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。