2017-08-08 35 views
1

.xlsxデータをMySQLデータベースにインポートしようとしています。 .csvファイルを選択するとデータは完全にアップロードされますが、.xlsxファイルを選択するとダミーデータが挿入されます。これをどうすれば解決できますか?ここMySQLデータベースに.xlsxデータをインポートする

enter image description here

と私のコードは次のとおりです。ここではスクリーンショットです。

グーグル

見つかり参照: https://hemant9807.blogspot.in/2016/09/import-excelcsv-file-to-mysql-database.html

<?php 
if(isset($_POST["Import"])) 
{ 
    //First we need to make a connection with the database 
    $host=''; // Host Name. 
    $db_user= ''; //User Name 
    $db_password= ''; 
    $db= ''; // Database Name. 
    $conn=mysqli_connect($host,$db_user,$db_password,$db) or die (mysqli_error()); 
    //mysql_select_db($db) or die (mysql_error()); 
    echo $filename=$_FILES["file"]["tmp_name"]; 
    if($_FILES["file"]["size"] > 0) 
    { 
     $file = fopen($filename, "r"); 
     //$sql_data = "SELECT * FROM test"; 
     while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE) 
     { 
      //print_r($emapData); 
      //exit(); 
      $sql = "INSERT into test(image) values ('$emapData[0]')"; 
      mysqli_query($conn,$sql); 
     } 
     fclose($file); 
     echo 'CSV File has been successfully Imported'; 
     //header('Location: upload.php'); 
    } 
    else 
     echo 'Invalid File:Please Upload CSV File'; 
} 
?> 
+0

xlsxファイルをCSVファイルのように読み取ることはできません。それらは全く異なる2つの形式です。 –

+2

あなたは 'fgetcsv'を使ってxlsxファイルを読み込んでいます。これは動作しません。リンク先の記事では、xlsxファイルではなく「excel csv」の読み込みに関する話があります。 –

+1

[PHP読み込みxlsx Excel 2007ファイル]の複製(https://stackoverflow.com/questions/2528213/php-read-xlsx-excel-2007-file) –

答えて

0

Link ian0411で指定されています。私はそれをテストしました。 しかし、私はこのようにして、これはうまくいくでしょう。

最初に私のExcelファイルcsvを変換して、それをサーバにアップロードしても問題ありません。 ありがとうございます。

0

CSVファイルはプレーンテキストファイルですが、ExcelがXLSまたはXLSXようなファイルではありません。 Excelファイルから直接インポートする場合は、Excelファイル形式を読み取るユーティリティが必要です。

関連する問題