Maison > développement back-end > tutoriel php > Comment importer un fichier Excel dans une base de données MySQL avec PHP ?

Comment importer un fichier Excel dans une base de données MySQL avec PHP ?

藏色散人
Libérer: 2023-04-05 15:18:01
original
7094 Les gens l'ont consulté

Dans cet article, je vais vous présenter comment utiliser PHP pour importer des fichiers Excel dans une base de données MySQL. Parfois, nous devons ajouter des données telles que des produits, des projets, des utilisateurs, des e-mails, etc. depuis le panneau d'administration. Si nous avons très peu de données, nous pouvons les ajouter manuellement, mais si notre fichier Excel ou fichier CSV contient beaucoup de données, le stockage des données prendra beaucoup de temps. À ce stade, nous devons importer directement le xls. fichier ou fichier csv dans la base de données mysql.

Comment importer un fichier Excel dans une base de données MySQL avec PHP ?

Ci-dessous, nous utiliserons la Classe Spreadsheet_Excel_Reader pour importer le fichier Excel dans la base de données php. Les étapes sont les suivantes :

1. Téléchargez la bibliothèque de classes

2. Créez un fichier db_config.php

3. Créez un fichier index .php

4. Créez excelUpload.php

. 5. Créez un dossier de téléchargement

Étape 1 : Téléchargez la bibliothèque de classes

Téléchargez la bibliothèque PHP Excel Reader depuis GitHub, adresse de téléchargement : https://github .com/nuovo/spreadsheet-reader

Après le téléchargement, extrayez-le dans le répertoire racine et renommez-le en "bibliothèque".

Étape 2 : Créer le fichier db_config.php

Créer le fichier db_config.php pour la configuration de la base de données Dans ce fichier, vous devez définir l'hôte de la base de données, le nom d'utilisateur de la base de données, Mot de passe de la base de données, nom de la base de données. Ce fichier sera utilisé pour stocker les données dans la base de données.

Le code est le suivant :

db_config.php

<?php
	$dbHost = "localhost";
	$dbDatabase = "h_php";
	$dbPasswrod = "root";
	$dbUser = "root";
	$mysqli = new mysqli($dbHost, $dbUser, $dbPasswrod, $dbDatabase);
?>
Copier après la connexion

Étape 3 : Créer le fichier index.php

Créez le fichier index.php dans le répertoire racine, dans ce fichier, j'ai utilisé bootstrap pour créer un formulaire simple pour implémenter la fonction d'importation et de sélection de fichiers Excel après avoir cliqué sur un bouton.

Le code est le suivant :

index php

<!DOCTYPE html>
<html>
<head>
        <meta charset="UTF-8">
	<title></title>
	<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
</head>
<body>
<div class="container">
	<h1>Excel上传</h1>
	<form method="POST" action="excelUpload.php" enctype="multipart/form-data">
		<div class="form-group">
			<label>上传Excel文件</label>
			<input type="file" name="file" class="form-control">
		</div>
		<div class="form-group">
			<button type="submit" name="Submit" class="btn btn-success">上传</button>
		</div>
	</form>
</div>


</body>
</html>
Copier après la connexion

Le style front-end est le suivant :

Comment importer un fichier Excel dans une base de données MySQL avec PHP ?

Étape 4 : Créer le fichier excelUpload.php

Créer le fichier excelUpload.php pour gérer les données importées dans la base de données, dans cette étape, nous devons créer un dossier de téléchargements pour stocker le fichier Excel dans ce fichier, puis lire le fichier.

Le code est le suivant :

excelUpload.php

<?php

require(&#39;library/php-excel-reader/excel_reader2.php&#39;);
require(&#39;library/SpreadsheetReader.php&#39;);
require(&#39;db_config.php&#39;);

if(isset($_POST[&#39;Submit&#39;])){

  $mimes = [&#39;application/vnd.ms-excel&#39;,&#39;text/xls&#39;,&#39;text/xlsx&#39;,&#39;application/vnd.oasis.opendocument.spreadsheet&#39;];
  if(in_array($_FILES["file"]["type"],$mimes)){

    $uploadFilePath = &#39;uploads/&#39;.basename($_FILES[&#39;file&#39;][&#39;name&#39;]);
    move_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;], $uploadFilePath);

    $Reader = new SpreadsheetReader($uploadFilePath);

    $totalSheet = count($Reader->sheets());

    echo "你有 ".$totalSheet." 张表".

    $html="<table border=&#39;1&#39;>";
    $html.="<tr><th>标题</th><th>描述</th></tr>";

    for($i=0;$i<$totalSheet;$i++){

      $Reader->ChangeSheet($i);

      foreach ($Reader as $Row)
      {
        $html.="<tr>";
        $title = isset($Row[0]) ? $Row[0] : &#39;&#39;;
        $description = isset($Row[1]) ? $Row[1] : &#39;&#39;;
        $html.="<td>".$title."</td>";
        $html.="<td>".$description."</td>";
        $html.="</tr>";

        $query = "insert into items(title,description) values(&#39;".$title."&#39;,&#39;".$description."&#39;)";
        $mysqli->query($query);
       }
    }
    $html.="</table>";
    echo $html;
    echo "<br />添加到数据库的数据";
  }else { 
    die("<br/>sorry,不允许此文件类型上传,只允许Excel文件。"); 
  }
}
?>
Copier après la connexion

Tutoriels vidéo associés recommandés : "Tutoriel PHP " "Tutoriel MySQL

Cet article est une introduction à la méthode d'importation de fichiers Excel dans une base de données MySQL avec PHP. J'espère qu'il sera utile aux amis dans le besoin !

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!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal