2017-08-08 54 views
1

我正在將.xlsx數據導入到MySQL數據庫。 如果我選擇.csv文件,數據上傳完美,但是當我選擇.xlsx文件時,它將插入虛擬數據。我該如何解決這個問題?下面是截圖:將.xlsx數據導入到mysql數據庫

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

您不能期望能夠像讀取CSV文件一樣讀取xlsx文件。它們是兩種完全不同的格式。 –

+2

您正在使用'fgetcsv'來讀取xlsx文件。這是行不通的。請注意,您鏈接的文章談論加載「excel csv」而不是xlsx文件。 –

+1

[PHP閱讀xlsx Excel 2007文件]的可能重複(https://stackoverflow.com/questions/2528213/php-read-xlsx-excel-2007-file) –

回答

0

Link給出ian0411正在工作。我did.nt測試它。 但我這樣做,所以這將工作。

首先我轉換我的Excel文件CSV,然後我上傳到服務器它工作正常。 謝謝你的回答。

0

CSV文件是一個純文本文件,而是一個Excel文件像XLS或XLSX不是。如果您想直接從Excel文件導入,則需要一個可以讀取Excel文件格式的實用程序。