Home > Article > Backend Development > How to import excel file into mysql database with PHP?
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.
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:
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('library/php-excel-reader/excel_reader2.php'); require('library/SpreadsheetReader.php'); require('db_config.php'); if(isset($_POST['Submit'])){ $mimes = ['application/vnd.ms-excel','text/xls','text/xlsx','application/vnd.oasis.opendocument.spreadsheet']; if(in_array($_FILES["file"]["type"],$mimes)){ $uploadFilePath = 'uploads/'.basename($_FILES['file']['name']); move_uploaded_file($_FILES['file']['tmp_name'], $uploadFilePath); $Reader = new SpreadsheetReader($uploadFilePath); $totalSheet = count($Reader->sheets()); echo "你有 ".$totalSheet." 张表". $html="<table border='1'>"; $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] : ''; $description = isset($Row[1]) ? $Row[1] : ''; $html.="<td>".$title."</td>"; $html.="<td>".$description."</td>"; $html.="</tr>"; $query = "insert into items(title,description) values('".$title."','".$description."')"; $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!