将.xlsx数据导入到mysql数据库

问题描述:

我正在将.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://*.com/questions/2528213/php-read-xlsx-excel-2007-file) –

Link给出ian0411正在工作。我did.nt测试它。 但我这样做,所以这将工作。

首先我转换我的Excel文件CSV,然后我上传到服务器它工作正常。 谢谢你的回答。

CSV文件是一个纯文本文件,而是一个Excel文件像XLS或XLSX不是。如果您想直接从Excel文件导入,则需要一个可以读取Excel文件格式的实用程序。