Intereting Posts
Вложенный короткий код для динамического отображения категории продуктов woocommerce iOS безопасность отправки данных с паролем на сервер и с сервера Разработка компонента joomla с помощью запросов Ajax XDebug, как отключить удаленную отладку для одного .php-файла? SaveMany для обновления нескольких записей одновременно в CakePHP не работает Как избежать навигации по папкам с помощью манипуляции URL Счетчик слов: Кажется, мне не нужен вывод (PHP) API Facebook Graph – удалить как Как преобразовать римскую цифру в целое число в PHP? Сохранить удаленный файл, который подталкивает заголовки, чтобы принудительно загрузить Кастинг объекта массиву – вызов любого магического метода? Как создать пустой массив в PHP с предопределенным размером? APNS PHP JSON Структура полезной нагрузки Наилучшая практика MySQL: дети SELECT рекурсивны, насколько это возможно? Есть ли способ проверить, требуется ли видео с YouTube, используя его API

Импорт данных из Excel в PHP

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

    Импорт из файлов Excel (XLS) намного сложнее, чем улучшение из файлов CSV. Обычно я сохраняю свой XLS в CSV с помощью Excel, а затем работаю над этим CSV с PHP …

    Посмотрите на функцию PHP fgetcsv по адресу: http://ca.php.net/manual/en/function.fgetcsv.php

    <?php $row = 1; if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose($handle); } ?> 

    Если вы все еще хотите загрузить XLS напрямую с PHP, это возможно (но насколько это надежно) … Быстрый поиск привел к http://sourceforge.net/projects/phpexcelreader/, что может быть полезно.

    Вполне возможно. Вы можете сохранить файл Excel в виде CSV-файла и использовать fgetcsv () для чтения этого файла на PHP. fgetcsv() проанализирует ваши данные в массиве, который затем вы сможете создавать SQL-запросы из базы данных.

    Если все, что вы делаете, это поместить его в базу данных, вы можете полностью обойти необходимость в PHP-скрипте и просто использовать синтаксис LOAD DATA INFILE MySQL в своем CSV-файле:

     LOAD DATA LOCAL INFILE '/importfile.csv' INTO TABLE test_table FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (field1, filed2, field3); 

    Лучше всего экспортировать из Excel в CSV (значения, разделенные запятыми). Эти файлы легко разобрать и загрузить. Если вы читаете напрямую из файла XLS, я не знаю, как это сделать. Возможно, вам захочется посмотреть и посмотреть, есть ли libarary для PHP, который может читать файлы данных Excel.

    Вот учебник по чтению / письму электронной таблицы Excel напрямую (без необходимости экспорта в CSV). Необходимые пакеты доступны от SourceForge и PEAR (см. Статью).

     <? i$db = mysql_connect(“localhost”, “root”, “”) or die(“Could not connect.”); if(!$db) die(“no db”); if(!mysql_select_db(“test”,$db)) die(“No database selected.”); if(isset($_POST['submit'])) { $filename=$_POST['filename']; $handle = fopen(“$filename”, “r”); while (($data = fgetcsv($handle, 1000, “,”)) !== FALSE) { $import=”INSERT into sample(name,email) values('$data[0]','$data[1]')”; mysql_query($import) or die(mysql_error()); } fclose($handle); print “Import done”; } else { print “<form action='import.php' method='post'>”; print “Type file name to import:<br>”; print “<input type='text' name='filename' size='20′><br>”; print “<input type='submit' name='submit' value='submit'></form>”; } ?> 

    Источник