Rumah >pangkalan data >tutorial mysql >Petua pembangunan PHP: Cara menggunakan PHPExcel dan PHPExcel_IOFactory untuk mengendalikan pangkalan data MySQL
Petua Pembangunan PHP: Cara menggunakan PHPExcel dan PHPExcel_IOFactory untuk mengendalikan pangkalan data MySQL
Ikhtisar:
Dalam pembangunan web, memproses fail Excel adalah tugas biasa dan penting. PHPExcel ialah perpustakaan PHP yang berkuasa dan mudah digunakan yang boleh membantu kami membaca dan menulis fail Excel. Artikel ini akan memperkenalkan cara menggunakan perpustakaan PHPExcel dan PHPExcel_IOFactory untuk mengendalikan pangkalan data MySQL.
Langkah 1: Penyediaan
Pertama, pastikan pustaka PHPExcel dan PHPExcel_IOFactory dipasang pada pelayan PHP anda. Anda boleh memuat turun versi terkini dari tapak web rasmi dan mengekstraknya ke dalam direktori projek anda.
Langkah 2: Buat sambungan pangkalan data
Sebelum menggunakan PHPExcel, anda perlu mewujudkan sambungan ke pangkalan data MySQL. Sambungan pangkalan data boleh dibuat menggunakan contoh kod berikut:
<?php $servername = "localhost"; $username = "yourusername"; $password = "yourpassword"; $dbname = "yourdbname"; // 创建连接 $conn = new mysqli($servername, $username, $password, $dbname); // 检查连接是否成功 if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?>
Langkah 3: Baca data daripada pangkalan data MySQL dan jana fail Excel
Seterusnya, kami akan menggunakan perpustakaan PHPExcel untuk membaca data daripada pangkalan data MySQL dan menjana fail Excel yang sepadan. Berikut ialah contoh kod:
<?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'); ?>
Dalam sampel kod, kami mula-mula mencipta objek Excel baharu dan pilih lembaran kerja yang aktif. Kemudian dapatkan data dengan menanyakan pangkalan data dan isikan data ke dalam Excel menggunakan kaedah setCellValue. Akhir sekali, kami menyimpan fail Excel sebagai output.xlsx.
Langkah 4: Import data daripada fail Excel ke pangkalan data MySQL
Selain mengeksport data daripada pangkalan data, PHPExcel juga boleh membantu kami mengimport data daripada fail Excel ke dalam pangkalan data MySQL. Berikut ialah contoh kod:
<?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); } ?>
Dalam kod di atas, kami mula-mula memuatkan fail Excel dan pilih lembaran kerja yang aktif. Kemudian dengan menggelung ke atas baris dan sel, kami mendapat nilai setiap sel dan memasukkannya ke dalam pangkalan data MySQL.
Kesimpulan:
Dengan menggunakan perpustakaan PHPExcel dan PHPExcel_IOFactory, kami boleh memproses fail Excel dengan mudah dan berinteraksi dengan pangkalan data MySQL untuk data. Artikel ini menerangkan cara menggunakan kedua-dua perpustakaan ini untuk membaca data daripada pangkalan data MySQL dan menjana fail Excel, dan cara mengimport data daripada fail Excel ke dalam pangkalan data MySQL. Saya harap kod sampel ini akan membantu operasi Excel anda dalam pembangunan PHP.
Atas ialah kandungan terperinci Petua pembangunan PHP: Cara menggunakan PHPExcel dan PHPExcel_IOFactory untuk mengendalikan pangkalan data MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!