2015-06-24 3 views
0

У меня есть код, в котором я могу импортировать файл .CSV в мой mysql. Но я не могу импортировать файл Excel. Некоторые значения мусора вставляются в мою базу данных, пока я импортирую файл Excel.Как импортировать файл Excel в mysql?

<?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> 
+0

Вы внимательно изучили ваш файл csv Excel? Иногда в Excel есть многострочные ячейки, которые вызывают проблемы. – cars10m

+1

Можете ли вы показать образцы «значений мусора»? – Jens

+0

В моем файле excel всего 2 столбца, например City Id, City Name. Значения мусора, такие как Ïà¡ ± á, ÂCalib, õÿ ôÀ –

ответ

0

Похоже, вы пытаетесь прочитать файл Excel с помощью какой-то код, который способен анализировать только CSV-файлы, вы не можете, формат полностью отличается.

Проверьте файл и используйте библиотеку, например PHPExcel, если пользователь отправит вам таблицу Excel.

0

Вы можете использовать EasyXLS Excel library импортировать файл Excel и чем вставить данные в базу данных MySQL:

$workbook = new COM("EasyXLS.ExcelDocument"); 
$rows = $workbook->easy_ReadXLSActiveSheet_AsList($filename); 

Для получения более подробной информации смотрите по этой ссылке о importing Excel file to MySQL using EasyXLS.

Смежные вопросы