Home  >  Article  >  Backend Development  >  How to import excel file into mysql database with PHP?

How to import excel file into mysql database with PHP?

藏色散人
藏色散人Original
2019-03-12 16:24:216993browse

In this article, I will introduce to you how to use PHP to import excel files into mysql database. Sometimes we need to add data like products, projects, users, emails, etc. from the admin panel. If we have very little data, then we can add it manually, but if our excel file or csv file has a lot of data, it will take a long time to store the data. At this time, we need to directly import the xls file or csv file into in mysql database.

How to import excel file into mysql database with PHP?

Below we will use the Spreadsheet_Excel_Reader class to import the excel file into the php database. The steps are as follows:

1. Download the class library

2.Create db_config.php file

3.Create index .php file

4.Create excelUpload.php

5.Create upload folder

Step 1: Download the class library

Download the PHP Excel Reader library from GitHub, download address:https://github.com/nuovo/spreadsheet-reader

After downloading, extract it to the root directory and rename it to "library".

Step 2: Create the db_config.php file

Create the db_config.php file for the database configuration. In this file, you must set the database host, database username, Database password, database name. This file will be used to store data into the database.

The code is as follows:

db_config.php

<?php
	$dbHost = "localhost";
	$dbDatabase = "h_php";
	$dbPasswrod = "root";
	$dbUser = "root";
	$mysqli = new mysqli($dbHost, $dbUser, $dbPasswrod, $dbDatabase);
?>

Step 3: Create the index.php file

Create the index.php file in the root directory. In this file, I used bootstrap to create a simple form to implement the function of importing and selecting excel files after clicking a button.

The code is as follows:

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>

The front-end style is as follows:

How to import excel file into mysql database with PHP?

Step 4: Create the excelUpload.php file

Create the excelUpload.php file to manage the data imported into the database. In this step, we must create uploads Folder to store the excel file into this file, and then read the file.

The code is as follows:

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

Recommended related video tutorials: "PHP Tutorial" " mysql tutorial

This article is about the method of importing excel files into mysql database with PHP. I hope it will be helpful to friends in need!

The above is the detailed content of How to import excel file into mysql database with PHP?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn