我正在将.xlsx数据导入MySQL数据库。
如果选择.csv文件,则数据可以完美上传,但是当选择.xlsx文件时,它将插入虚拟数据。我该如何解决?这是屏幕截图:



这是我的代码从Google找到

参考: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';
}
?>

最佳答案

CSV文件是纯文本文件,但不是xls或xlsx之类的Excel文件。如果要直接从Excel文件导入,则需要一个可以读取Excel文件格式的实用程序。

09-26 20:28
查看更多