PHP 開発のヒント: PHPExcel および PHPExcel_IOFactory を使用して MySQL データベースを操作する方法
概要:
Web 開発では、Excel ファイルの処理は一般的かつ重要なタスクです。 PHPExcel は、Excel ファイルの読み書きに役立つ強力で使いやすい PHP ライブラリです。この記事では、MySQL データベースを操作するための PHPExcel および PHPExcel_IOFactory ライブラリを使用する方法を紹介します。
ステップ 1: 準備
まず、PHPExcel ライブラリと PHPExcel_IOFactory ライブラリが PHP サーバーにインストールされていることを確認します。公式 Web サイトから最新バージョンをダウンロードし、プロジェクト ディレクトリに抽出できます。
ステップ 2: データベース接続を作成する
PHPExcel を使用する前に、MySQL データベースとの接続を確立する必要があります。データベース接続は、次のコード例を使用して作成できます。
<?php $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?>
ステップ 3: MySQL データベースからデータを読み取り、Excel ファイルを生成する
次に、PHPExcel ライブラリを使用して MySQL データベースからデータを読み取り、対応する Excel ファイルを生成します。以下はサンプル コードです:
<?php require 'PHPExcel/PHPExcel.php'; // 创建一个新的Excel对象 $objPHPExcel = new PHPExcel(); // 选择活动工作表 $objPHPExcel->setActiveSheetIndex(0); // 查询数据库中的数据 $sql = "SELECT * FROM your_table_name"; $result = $conn->query($sql); // 设置Excel表头 $objPHPExcel->getActiveSheet()->setCellValue('A1', '列1标题'); $objPHPExcel->getActiveSheet()->setCellValue('B1', '列2标题'); $objPHPExcel->getActiveSheet()->setCellValue('C1', '列3标题'); // 将数据库查询结果填充到Excel中 if ($result->num_rows > 0) { $row = 2; while($row_data = $result->fetch_assoc()) { $objPHPExcel->getActiveSheet()->setCellValue('A'.$row, $row_data['column1']); $objPHPExcel->getActiveSheet()->setCellValue('B'.$row, $row_data['column2']); $objPHPExcel->getActiveSheet()->setCellValue('C'.$row, $row_data['column3']); $row++; } } // 保存Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('output.xlsx'); ?>
コード サンプルでは、まず新しい Excel オブジェクトを作成し、アクティブなワークシートを選択します。次に、データベースにクエリを実行してデータを取得し、setCellValue メソッドを使用してデータを Excel に入力します。最後に、Excel ファイルを Output.xlsx として保存します。
ステップ 4: Excel ファイルから MySQL データベースにデータをインポートする
PHPExcel は、データベースからデータをエクスポートするだけでなく、Excel ファイルから MySQL データベースにデータをインポートすることもできます。以下はサンプル コードです:
<?php require 'PHPExcel/PHPExcel.php'; // Load Excel文件 $objPHPExcel = PHPExcel_IOFactory::load('input.xlsx'); // 选择活动工作表 $objPHPExcel->setActiveSheetIndex(0); $sheet = $objPHPExcel->getActiveSheet(); // 循环遍历Excel行 foreach ($sheet->getRowIterator() as $row) { $cellIterator = $row->getCellIterator(); $cellIterator->setIterateOnlyExistingCells(false); // 获取每个单元格的值 $column1 = $cellIterator->current()->getValue(); $cellIterator->next(); $column2 = $cellIterator->current()->getValue(); $cellIterator->next(); $column3 = $cellIterator->current()->getValue(); // 将数据插入到数据库中 $sql = "INSERT INTO your_table_name (column1, column2, column3) VALUES ('$column1', '$column2', '$column3')"; $conn->query($sql); } ?>
上記のコードでは、最初に Excel ファイルをロードし、アクティブなワークシートを選択します。次に、行とセルをループすることによって、各セルの値を取得し、それを MySQL データベースに挿入します。
結論:
PHPExcel ライブラリと PHPExcel_IOFactory ライブラリを使用すると、Excel ファイルを簡単に処理し、MySQL データベース データを操作できます。この記事では、これら 2 つのライブラリを使用して MySQL データベースからデータを読み取り Excel ファイルを生成する方法、および Excel ファイルから MySQL データベースにデータをインポートする方法について説明します。これらのサンプルコードが、PHP 開発における Excel 操作に役立つことを願っています。
以上がPHP 開発のヒント: PHPExcel と PHPExcel_IOFactory を使用して MySQL データベースを操作する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。