我有一个代码,我可以在我的mysql中导入.CSV文件。但是我不能导入Excel文件。当我导入Excel文件时,一些垃圾值插入到我的数据库中。
<?php
if(isset($_POST["Import"]))
{
//First we need to make a connection with the database
include("connection.php");
echo $filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0)
{
$file = fopen($filename, "r");
//$sql_data = "SELECT * FROM prod_list_1 ";
while (($emapData = fgetcsv($file, 10000, ",")) !== FALSE)
{
//print_r($emapData);
//exit();
$sql = "INSERT into city(city_id,city_name) values ('$emapData[0]','$emapData[1]')";
mysql_query($sql);
}
fclose($file);
echo 'CSV File has been successfully Imported';
header('Location: index.php');
}
else
echo 'Invalid File:Please Upload CSV File';
}
?>
<form enctype="multipart/form-data" method="post" role="form">
<div class="form-group">
<label for="exampleInputFile">File Upload</label>
<input type="file" name="file" id="file" size="150">
<p class="help-block">Only Excel/CSV File Import.</p>
</div>
<button type="submit" class="btn btn-default" name="Import" value="Import">Upload</button>
</form>
发布于 2015-06-24 13:47:04
看起来你正在尝试使用一些只能解析csv文件的代码来读取excel文件,但你不能,格式完全不同。
检查文件类型,如果用户向您发送excel电子表格,请使用像PHPExcel这样的库。
发布于 2015-06-24 18:17:07
您可以使用EasyXLS Excel library导入Excel文件,然后在MySQL数据库中插入数据:
$workbook = new COM("EasyXLS.ExcelDocument");
$rows = $workbook->easy_ReadXLSActiveSheet_AsList($filename);
有关更多详细信息,请参阅有关importing Excel file to MySQL using EasyXLS的链接。
https://stackoverflow.com/questions/31018419
复制相似问题