首頁  >  文章  >  後端開發  >  PHP如何將excel檔案匯入mysql資料庫?

PHP如何將excel檔案匯入mysql資料庫?

藏色散人
藏色散人原創
2019-03-12 16:24:216994瀏覽

在這篇文章中,我將介紹如何使用PHP將excel檔案匯入mysql資料庫。有時候我們需要從管理面板添加數據,如產品,項目,用戶,電子郵件等。如果我們的資料很少,那麼手動添加就可以了,但是如果我們的excel檔案或csv檔案的資料比較多,那麼儲存資料的時間就比較長,這時我們就需要直接匯入xls檔案或是csv檔案到mysql資料庫中。

PHP如何將excel檔案匯入mysql資料庫?

下面我們將使用Spreadsheet_Excel_Reader類別將excel檔案匯入php資料庫,步驟如下:

##1.下載類別庫

2.建立db_config.php檔案

3.建立index . php檔案

#4.建立excelUpload.php

5.建立上傳資料夾

步驟1:下載類別庫

從GitHub下載PHP Excel Reader函式庫,下載位址:

https://github.com/nuovo/spreadsheet-reader

下載後將其解壓縮到根目錄並將其重新命名為「

library」。

步驟2:建立db_config.php檔案

為資料庫設定建立db_config.php文件,在這個檔案中,你必須設定資料庫主機、資料庫使用者名稱、資料庫密碼、資料庫名稱。該文件將用於將資料儲存到資料庫中。

程式碼如下:

db_config.php

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

步驟3:建立index.php檔案

在根目錄中建立index.php文件,在這個文件中,我使用bootstrap建立了一個簡單的表單,實現點擊按鈕後導入選擇excel文件的功能。

程式碼如下:

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>

前台樣式如下:

PHP如何將excel檔案匯入mysql資料庫?

##步驟4:建立excelUpload.php檔案

建立excelUpload.php檔案來管理匯入資料庫的數據,在這個步驟中,我們必須建立

uploads資料夾

來儲存excel檔案到這個檔案中,然後讀取該檔案。 程式碼如下:

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文件。"); 
  }
}
?>
相關影片教學推薦:《

PHP教學

》《 mysql教學這篇文章是關於PHP將excel檔案匯入mysql資料庫的方法介紹,希望對需要的朋友有幫助!

以上是PHP如何將excel檔案匯入mysql資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn