2013-12-18 6 views
1

Я схожу с ума с одной проблемой в своем веб-приложении.Импорт файла Excel в MySQL

У меня есть система SCADA, в которой каждый день выгружает файлы на мой сервер с данными с одной тепловой установки.

У меня есть веб-приложение в PHP/Jquery, которое считывает эти данные из базы данных MySQL и показывает это в диаграммах и таблицах.

Но мне нужно вручную импортировать файлы excel в MySQL. Я хочу создать PHP-скрипт, который будет выглядеть следующим образом:

Пользователь пытается создать диаграмму, и если данные не находятся в MySQL, он спросит, хочет ли он импортировать данные из файлы excel на сервере. Затем файлы excel копируются в временные таблицы MySQL и вставляются в соответствующую таблицу. Затем данные могут отображаться пользователю и сохраняться в базе данных MySQL.

Все это работает, но мне нужно сделать автоматический способ импорта этих данных из файлов excel в таблицы MySQL.

Заранее спасибо за вашу помощь

+0

Итак, какую из многих библиотек PHP, способных читать файлы Excel, вы просматривали, и с какими проблемами вы столкнулись с ними? –

+0

Спасибо, Марк за то, что нашли время, чтобы прочитать это! Я изучил некоторые из них. Но большинство из них необходимо преобразовать файл excel в csv. Теперь я смотрел http://phpexcel.codeplex.com/. Примечание: файлы Excel имеют персонализированные расширения. Они могут быть открыты в доступе MS. – devwebapp

+1

В дополнение к моему собственному PHPExcel, существует ряд библиотек PHP для чтения реальных файлов Excel BIFF (.xls) или OfficeOpenXML (.xlsx) (а не просто файлов csv), перечисленных в моем ответе на [этот вопрос] (http://stackoverflow.com/questions/3930975/alternative-for-php-excel) –

ответ

0

эй там на самом деле я имел такую ​​же проблему, прежде чем я сделал следующее решить: создать функцию в PHP, чтобы выполнить запрос, чтобы импортировать файл из пункта назначения публичной функции InsertNewData ($ filename) { $ dbtable = substr ($ filename, 0, -4);

$sql = " LOAD DATA LOCAL INFILE 'http://your-ip-and-root/uploads/$filename'" 
     . " INTO TABLE $dbtable FIELDS TERMINATED BY ';' LINES TERMINATED BY '\\n'"; 
    $error = " <font color = 'red'>error Load Data the file Please contact the DB Admin </font>"; 
    $connection = ResourceManager::getConnection(); 
    $resultado = 0; 
    $connection->beginTransaction(); 
    try { 
     $prepare = $connection->prepare($sql);      
     $prepare->execute();  
     $connection->commit(); 
    } catch (Exception $e) { 
     echo $error;   
     $connection->rollBack(); 

    } 
    $connection = null; 

} , а затем вы можете вызвать эту функцию из вашей страницы при загрузке файла Excel завершается

надеюсь, что это помогло.

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