Comment exporter et importer des données en PHP ?
PHP est un langage de script polyvalent couramment utilisé pour développer des applications Web. Durant le processus de développement, l’importation et l’exportation de données constituent une fonction très importante. Cet article explique comment utiliser PHP pour exporter et importer des données.
1. Exportation de données
Tout d'abord, connectez-vous à la base de données et interrogez les données qui doivent être exportées.
// 连接到数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); // 查询需要导出的数据 $query = "SELECT * FROM table_name"; $result = mysqli_query($conn, $query);
Ensuite, créez un fichier et écrivez les données interrogées dans le fichier.
// 创建一个CSV文件 $file = fopen('export.csv', 'w'); // 写入表头 $header = array('字段1', '字段2', '字段3'); fputcsv($file, $header); // 写入数据 while ($row = mysqli_fetch_assoc($result)) { fputcsv($file, $row); } // 关闭文件 fclose($file);
Enfin, le fichier CSV exporté sera enregistré dans le même répertoire que le fichier PHP et contiendra les données interrogées.
// 导入PHPExcel类库 require_once 'PHPExcel/Classes/PHPExcel.php'; // 创建一个Excel对象 $objPHPExcel = new PHPExcel();
Ensuite, connectez-vous à la base de données et interrogez les données qui doivent être exportées.
// 连接到数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); // 查询需要导出的数据 $query = "SELECT * FROM table_name"; $result = mysqli_query($conn, $query);
Ensuite, écrivez les données demandées dans un fichier Excel.
// 设置表头 $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A1', '字段1') ->setCellValue('B1', '字段2') ->setCellValue('C1', '字段3'); // 逐行写入数据 $row = 2; while ($data = mysqli_fetch_assoc($result)) { $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A'.$row, $data['字段1']) ->setCellValue('B'.$row, $data['字段2']) ->setCellValue('C'.$row, $data['字段3']); $row++; } // 导出Excel文件 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('export.xls');
Enfin, le fichier Excel exporté sera enregistré dans le même répertoire que le fichier PHP et contiendra les données interrogées.
2. Importation de données
L'importation de données est l'opposé de l'exportation de données, important des données à partir de fichiers externes dans la base de données. Voici les étapes à mettre en œuvre :
// 连接到数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database');
Ensuite, lisez les données dans le fichier CSV et insérez-le dans la base de données.
// 打开CSV文件 $file = fopen('import.csv', 'r'); // 循环读取CSV文件中的每一行数据 while (($data = fgetcsv($file)) !== FALSE) { // 将数据插入到数据库中 $query = "INSERT INTO table_name (字段1, 字段2, 字段3) VALUES ('$data[0]', '$data[1]', '$data[2]')"; mysqli_query($conn, $query); } // 关闭文件 fclose($file);
Enfin, les données du fichier CSV seront insérées dans la base de données.
// 连接到数据库 $conn = mysqli_connect('localhost', 'username', 'password', 'database');
Ensuite, chargez le fichier Excel et lisez les données qu'il contient.
// 加载Excel文件 $objPHPExcel = PHPExcel_IOFactory::load('import.xls'); // 获取第一个工作表 $sheet = $objPHPExcel->getActiveSheet(); // 循环读取每一行数据 foreach ($sheet->getRowIterator() as $row) { $rowData = array(); // 循环读取每一列数据 foreach ($row->getCellIterator() as $cell) { $rowData[] = $cell->getValue(); } // 将数据插入到数据库中 $query = "INSERT INTO table_name (字段1, 字段2, 字段3) VALUES ('$rowData[0]', '$rowData[1]', '$rowData[2]')"; mysqli_query($conn, $query); }
Enfin, les données du fichier Excel seront insérées dans la base de données.
Grâce aux étapes ci-dessus, nous pouvons exporter et importer des données en PHP. Qu'il s'agisse d'une exportation vers un fichier CSV ou Excel, la transmission de données entre plates-formes et entre systèmes peut être facilement réalisée. Dans le même temps, grâce à l'importation de données, nous pouvons importer rapidement des données de fichiers externes dans la base de données pour faciliter le traitement et l'analyse ultérieurs des données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!