我正在将.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文件格式的实用程序。