PHPでExcelデータを読み込んでデータベースにインポートする方法

PHPz
リリース: 2023-03-24 11:43:56
オリジナル
2487 人が閲覧しました

PHP は、Web アプリケーションや Web サイトの開発に使用される人気のあるプログラミング言語です。 Web アプリケーションでは、多くの場合、Excel (.xls または .xlsx) ファイルからデータベースにデータをインポートする必要があります。この記事では、PHPを使用してExcelデータを読み込み、データベースにインポートする方法を紹介します。

  1. インストール PHPExcel

PHPExcel は、Excel ファイルを読み取り、処理するための PHP ライブラリです。 PHPExcel ライブラリは、公式 Web サイト (https://phpexcel.codeplex.com/) からダウンロードするか、Composer を使用してインストールできます。 Composer を使用する場合は、composer.json ファイルに次のコードを追加するだけで済みます。

{
    "require": {
        "phpoffice/phpexcel": "1.8.*"
    }
}
ログイン後にコピー

コマンド ラインで composer update コマンドを実行すると、Composer によって PHPExcel が自動的にインストールされます。図書館。

  1. Excel ファイルの作成

Excel データをインポートする前に、Excel ファイルが必要です。 Microsoft Excel などのソフトウェアを使用して Excel ファイルを作成できます。 Excel ファイルを .xls または .xlsx 形式で保存する必要があることに注意してください。さらに、Excel ファイルの最初の行はヘッダー (列名) である必要があります。例:

#ID名前年齢電子メール1John25john@gmail.com2メアリー30mary@yahoo.com##3
デビッド 35 david@outlook.com
Excel ファイルの読み取り
  1. PHPExcel Excel ファイルを使用した読み取りシンプルです。次の手順に従ってください:
  2. require_once 'vendor/autoload.php'; // 引入PHPExcel库
    
    $path = 'example.xlsx'; // Excel文件路径
    
    // 创建PHPExcel对象
    $excel = PHPExcel_IOFactory::load($path);
    
    // 获取Excel的第一个工作表
    $sheet = $excel->getActiveSheet();
    
    // 获取工作表中的行数和列数
    $highestRow = $sheet->getHighestRow();
    $highestColumn = $sheet->getHighestColumn();
    
    // 遍历每一行
    for ($row = 2; $row <= $highestRow; $row++) {
        // 获取每一行的数据
        $id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
        $name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
        $age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
        $email = $sheet->getCellByColumnAndRow(3, $row)->getValue();
    
        // 在此处可以将行数据插入到数据库中
    }
    ログイン後にコピー
上の例では、PHPExcel ライブラリの

load()

メソッドを使用して PHPExcel オブジェクトを作成し、Excel ファイルからデータを読み込みます。次に、Excel ファイルの最初のワークシートを取得し、

getHighestRow() メソッドと getHighestColumn() メソッドを使用して行と列の数を取得します。最後に、各行を反復処理し、getCellByColumnAndRow() メソッドを使用して各行のセル データを取得し、データベースに挿入します。

データベース挿入
  1. Excel ファイルからデータベースにデータを挿入するには、SQL INSERT ステートメントを使用できます。したがって、最初にデータベースに接続してから、データをデータベースに挿入する必要があります。
  2. // 连接到数据库
    $servername = "localhost";
    $username = "username";
    $password = "password";
    $dbname = "myDB";
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    
    // 插入数据到数据库中
    for ($row = 2; $row <= $highestRow; $row++) {
        $id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
        $name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
        $age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
        $email = $sheet->getCellByColumnAndRow(3, $row)->getValue();
    
        $sql = "INSERT INTO myTable (id, name, age, email)
                VALUES ('$id', '$name', '$age', '$email')";
    
        if ($conn->query($sql) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql . "<br>" . $conn->error;
        }
    }
    
    $conn->close(); // 关闭数据库连接
    ログイン後にコピー
上の例では、mysqli を使用して MySQL データベースに接続します。データの各行で、SQL INSERT ステートメントを使用してデータを myTable テーブルに挿入します。挿入が成功すると、「新しいレコードが正常に作成されました」というメッセージが表示されます。そうでない場合は、エラー メッセージが出力されます。

概要

PHP を使用すると、Excel からデータを簡単にインポートできます。 PHPExcel ライブラリを使用して Excel ファイルを読み取り、データをデータベースに挿入するだけです。上記の例では、PHPExcel ライブラリと SQL INSERT ステートメントを使用して MySQL データベースにデータをインポートする方法を示しました。

以上がPHPでExcelデータを読み込んでデータベースにインポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート