Как загрузить в mysql данные из excel в
Перейти к содержимому

Как загрузить в mysql данные из excel в

Обмен данными между Excel и MySQL

Вряд ли мы откроем секрет, если скажем, что MySQL является на сегодняшний день одной из наиболее доступных реляционных СУБД. Она бесплатна, стабильна в работе и ко всему прочему отличается неплохим быстродействием. Не случайно эта система управления базами данных пользуется огромной популярностью у разработчиков веб-приложений, построенных на основе клиент-серверной технологии.
Конечно, время никогда не проходит даром, в том числе и для MySQL. Эволюционировав до 5й версии, она значительно возмужала и обзавелась отсутствующими ранее функциями (поддержкой триггеров, вложенных запросов и др.), но… "У "Жигулей" тоже четыре колеса, фары, руль и прочие атрибуты, но это не Mercedes. Точно так же и MySQL — это не Oracle", — процитировал мне знакомый программист, пытаясь объяснить разницу между существующими платформами для хранения данных. Глубокомысленное высказывание, ничего не скажешь. Ладно, долой философию, займемся делом, а именно — обменом данных в связке "Microsoft Excel — MySQL".

Матерым программистам баз данных наверняка по зубам эта операция, но мы облегчим свою участь при помощи специальной надстройки к табличному редактору Excel с длиннющим названием Excel to MySQL Import, Export & Convert 1.1 от компании Sobolsoft. Размер утилиты — 5,7 Мб, стоимость — 20 долларов США.

Установка приложения проходит без шума и пыли, единственное, необходимо понизить уровень безопасности Excel (Сервис -> Макрос -> Безопасность), разрешив ему выполнять макросы.

Перед началом работы нужно подключить базу данных при помощи специального мастера Setup MySQL Database Connection и установить соединение. А далее все как по маслу: при желании можно экспортировать выбранные ячейки в таблицу MySQL, либо, напротив, импортировать нужную информацию из базы данных. Естественно, без хотя бы минимальных знаний основ языка структурированных запросов SQL здесь не обойтись, но это не страшно — ведь документации навалом.

Что до области применения этой утилитки от Sobolsoft, то она воистину многогранна, начиная от использования в качестве удобного инструмента для операторов баз данных и заканчивая эксплуатацией в собственных программных разработках. На этой оптимистической ноте и поставим точку в нашей маленькой заметке.

Загрузка данных из Excel в MySQL с помощью PHP

Не так давно появилась задача — загрузить данные из Ecxel файла в базу сайта, и реализовать механизм так, чтобы быстро можно было обновлять эти данные, т.е. загружать новый файл. Решил попробовать парсер Excel-файлов phpExcelReader, но сколько не бился с ним, получал ошибку типа «… is not readable». Поэтому решил использовать библиотеку PHPExcel.

Загружать будем прайс-лист:

Артикул Наименование Количество Цена Валюта Единица
123456 Апельсин 20 50000 руб килограмм
123457 Мандарин 20 54000 руб килограмм
123458 Яблоко 50 23500 руб килограмм

В таблицу со структурой:

id article name
quantity
price
currency
unit

Скачав архив с библиотекой и открыв его вы увидите несколько папок и файлов — это описание и примеры использования библиотеки. Нам понадобится папка «Classes» — распаковываем архив и загружаем её, например, в корень сайта.

Файл excel можно загрузить в нужную папку на сервере, например uploads, через ftp сервер или создать страницу загрузки с "file" name= "upload_file" . Для меня конечно второй вариант был в приоритете (как реализовать загрузку файла на сервер я писал в статье «Отправка формы и файлов через Ajax»).

Итак, предположим, что форму загрузки мы сделали, библиотеку подключили, начнем писать скрипт обработки файла и загрузки в базу данных.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *