Maison  >  Article  >  développement back-end  >  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 ?

藏色散人
藏色散人original
2019-03-12 16:24:217006parcourir

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);
?>

É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>

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文件。"); 
  }
}
?>

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!

Déclaration:
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