PHPを使用してExcelファイルをmysqlデータベースにインポートするにはどうすればよいですか?

藏色散人
リリース: 2023-04-05 15:18:01
オリジナル
6983 人が閲覧しました

この記事では、PHP を使用して Excel ファイルを mysql データベースにインポートする方法を紹介します。場合によっては、製品、プロジェクト、ユーザー、電子メールなどのデータを管理パネルから追加する必要があります。データが少ない場合は手動で追加できますが、Excel ファイルや CSV ファイルのデータが多い場合は、データを保存するのに時間がかかります。このとき、xls ファイルを直接インポートする必要があります。ファイルまたは csv ファイルを mysql データベースに挿入します。

PHPを使用してExcelファイルをmysqlデータベースにインポートするにはどうすればよいですか?

以下では、Spreadsheet_Excel_Reader クラス を使用して Excel ファイルを php データベースにインポートします。手順は次のとおりです:

1. クラス ライブラリをダウンロードします

2.db_config.php ファイルを作成します

#3.インデックス .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 ファイルを作成します。このファイルでは、ブートストラップを使用して、ボタンをクリックした後に 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>
ログイン後にコピー

フロントエンドのスタイルは次のとおりです:

ステップ 4: ExcelUpload.php ファイルを作成する PHPを使用してExcelファイルをmysqlデータベースにインポートするにはどうすればよいですか?##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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート