Excelは、Microsoft Office Suitesの一般的なツールであり、データ入力、出力、編集で広く使用されています。 Webアプリケーションでは、処理または表示のためにデータベースにExcelでデータをインポートする必要があることがよくあります。この記事では、PHPとXMLを介してこれを達成する方法について説明します。
Phpexcelは、.xlsや.xlsx形式など、さまざまなExcel形式でファイルを処理するのに役立つ強力なPHPライブラリです。まず、PHPExcelライブラリをダウンロードしてインストールする必要があります。インストールが完了したら、PHPExcelが提供するリッチな機能を使用してExcelファイルを処理できます。
次に、PHPExcelライブラリを使用してExcelファイルのデータを読み取る方法について説明します。これがコードの例です。
require_once 'PHPExcel/PHPExcel.php';
$filename = 'data.xls';
$objPHPExcel = PHPExcel_IOFactory::load($filename);
$sheet = $objPHPExcel->getActiveSheet();
$data = array();
foreach ($sheet->getRowIterator() as $row) {
$rowData = array();
foreach ($row->getCellIterator() as $cell) {
$rowData[] = $cell->getValue();
}
$data[] = $rowData;
}
print_r($data);
上記のコードは、Excelファイルをロードし、その内容を2次元配列に読み込む方法を示しています。各行のデータは抽出され、$データアレイに保存されます。
Excelデータを正常に読み取ると、次のステップはデータをデータベースにインポートすることです。データをMySQLデータベースにインポートするためのコード例を次に示します。
require_once 'PHPExcel/PHPExcel.php';
$filename = 'data.xls';
$objPHPExcel = PHPExcel_IOFactory::load($filename);
$sheet = $objPHPExcel->getActiveSheet();
$data = array();
foreach ($sheet->getRowIterator() as $row) {
$rowData = array();
foreach ($row->getCellIterator() as $cell) {
$rowData[] = $cell->getValue();
}
$data[] = $rowData;
}
$conn = new mysqli('localhost', 'username', 'password', 'database');
if ($conn->connect_error) {
die('Connection failed: ' . $conn->connect_error);
}
foreach ($data as $row) {
$name = $row[0];
$age = $row[1];
$sql = "INSERT INTO students (name, age) VALUES ('$name', $age)";
if ($conn->query($sql) === TRUE) {
echo 'Record inserted successfully';
} else {
echo 'Error inserting record: ' . $conn->error;
}
}
$conn->close();
このコードは、MySQLデータベースに接続することにより、各行の名前と年齢のデータをデータベースの学生テーブルに挿入します。
この記事では、PHPとXMLを使用してExcelデータを読み取り、データベースにインポートする方法を示しています。 PHPExcelライブラリを通じて、開発者はさまざまなExcelファイルを簡単に処理し、データインポート機能を簡単に実装できます。この方法は、ユーザー情報、製品リスト、およびExcelからその他のデータのインポートに非常に適しており、データ入力の効率を大幅に改善できます。