Импорт в mysql данных из excel: Экспорт из Excel и импорт в MySql
Содержание
Импорт данных из Excel в таблицу MySQL | PHPClub
lexus_sss
Guest
#1
Импорт данных из Excel в таблицу MySQL
Уважаемые программеры. Не подскажете как можно осуществить импорт данных из таблицы Excel в таблицу MySQL. Просматривал Ваш форум нашел только ссылку на платный парсер. Хотелось бы, по возможности, получить реально работающий пример.
Заранее благодарен, Алексей.
regi
Новичок
#2
из excel в csv.
а потом fgetcsv
http://php.rinet.ru/manual/en/function.fgetcsv.php
Janger
Guest
#3
Вот бесплатный парсер xls-файлов:
http://sourceforge.net/projects/phpexcelreader
Halk_74
Guest
#4
Есть другой вариант:
сохранение в txt с разделитем TAB, потом считываем как файл и в массив по разделителю. В Excel — таблица, соответственно количество полей будет одинаковое при чтении (хотя обыграть этот момент — не вопрос). А дальше кидаем массив в базу. В принципе реализация тут элементарна ИМХО. У меня по такому принципу идет разбор прайс-листов «не стандартной компановки».
Cougar
Кошак
#5
Halk_74
Это частный случай csv
lexus_sss А чем тебе платный парсер не подходит? Я использую Zakkis xls Parser и весьма доволен. Ну да, он денег стоит, конечно… но так и я не забесплатно работаю
Halk_74
Guest
#6
Это частный случай csv
Нажмите для раскрытия.
..
Я понимаю, что частный случай, но тогда вопрос — а в чем сложность-то? пишется элементарно, за банкой слабоалкогольного, причем без напряга — обычный разбор строки, причем даже без регулярных можно сделать.
Пример,я надеюсь, не нужно приводить?
Cougar
Кошак
#7
Halk_74
Сложность, наверное, в том, что не все отдают в csv/tsv и т.п. Просто потому что не умеют.
Ну не получится у тебя объяснить секретарше, как правильно сохранять файл в .csv
KorP
Новичок
#8
а есть что-нить на эту тему на русском языке, а то интересно не просот код скопировать, но и прочитать, что там пишут, что бы разобраться, т. к. личный уровень знания PHP думаю не позволит разобраться просто посмотрев код…
Romantik
TeaM PHPClub
#9
KorP
А ты не смотри код. ты пробуй его не копировать, а написать ручками. потом, исправив все ошибки, используя echo, print_r, var_dump, etc попытаться понять как он работает.
KorP
Новичок
#10
ну что бы что то написать — надо знать как это писать, чот бы знать как это писать. надо как минимум понять…короче хочу прочитать чё пишут и вникнуть чё и как…
Cougar
Кошак
#11
KorP
Как правило, в комплекте с софтиной поставляется парочка простых примеров и (не всегда, правда) дока по API.
Как по мне (по собственному опыту работы с Zakkis Excel Parser) этого вполне хватает…
…правда, мне пришлось ещё изрядно править этот самый Parser, чтобы он не генерил миллион варнингов при error_reporting(E_ALL), но это уже тема для другого разговора
Как загрузить данные из excel в mysql
Загрузка данных из 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 сервер или создать страницу загрузки с <input type= «file» name= «upload_file» . Для меня конечно второй вариант был в приоритете (как реализовать загрузку файла на сервер я писал в статье «Отправка формы и файлов через Ajax»).
Итак, предположим, что форму загрузки мы сделали, библиотеку подключили, начнем писать скрипт обработки файла и загрузки в базу данных.
В принципе, второй цикл можно усовершенствовать, используя количество колонок, но у меня файл всегда будет стандартный, поэтому не вижу в этом смысла.
Экспорт из Excel в MySQL
От автора: в этом уроке мы рассмотрим экспорт из Excel в MySQL на PHP. В одном из уроков нашего сайта, мы с Вами изучали библиотеку PHPExcel, которая используется для работы с таблицами Microsoft Excel, используя язык PHP. При этом на примере создания прайс-листа для сайта, мы научились переносить данные из СУБД MySql в данные таблицы. Но очень часто при разработке сайтов, необходимо выполнить обратную задачу – выгрузить данные из таблиц Microsoft Excel в базу данных СУБД MySql. Поэтому в данном уроке мы займемся решением данной задачи.
Установка библиотеки PHPExcel
Для начала хотел бы обратить Ваше внимание на то, что данный урок – это своего рода продолжение урока Генерация прайс-листа в формате Excel при помощи PHP. Phpexcel, который публиковался ранее.
При этом если Вы не знакомы с библиотекой PHPExcel и с основами работы с ней, то настоятельно рекомендую просмотреть вышеуказанный урок, так как сегодня мы не будем тратить время на изучение основ. Для данного урока мы будем использовать тестовый сайт, который написан с использованием объектно-ориентированного подхода и шаблона проектирования MVC. Сейчас я не буду приводить его код, так как он будет доступен Вам в дополнительных материалах к уроку. В функционале данного сайта описан механизм загрузки на сервер файлов формата Excel и соответственно, данный механизм нам необходимо доработать, а именно, после успешной загрузки файла на сервер, необходимо прочитать содержимое данного файла и перенести данные из необходимых столбцов таблицы Excel, в базу данных MySql.
Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Теперь давайте установим библиотеку PHPExcel. Для этого мы воспользуемся инструментом Composer, (для тех кто не знаком с данным инструментов, рекомендую посмотреть урок Введение в Composer, поэтому открываем командную строку, переходим в каталог с тестовым сайтом и выполняем следующую команду:
Экспорт данных из excel в mysql?
Podnebesniy
Нужно экспортировать данные из таблицы excel(2003-07) при помощи web интерфейса. Я когда-то видел подобное. Финансовый корпоративный сайт. На который через обычную html фору загружается excel файл с предварительно построенной таблицей с данными (в определенном порядке). Потом загружается, и данные отображаются непосредственно на сайте. В то время я даже приблизительно даже не был знаком ни с одним языком программирования (в данный момент знаю базовый php, html), по этому в тот момент даже не пытался понять как и что там происходит. Во общем нужен то ли какой-то скрипт, то ли какая-то утилита (сам не знаю) для проведения данной операции. Помогите пожалуйста кто чем может.
Дополнено (1). YuriyPo
Ну меня не то что и как проще. Меня интересует именно дынный способ
YuriyPo
Проще попросить пользователя экспортировать в CSV и уже его грузить на сайт а там php explode по каждой строке и простым insert ом лить в базу
LeoCats
лучший ответ 1) http://phpexcel.h21.ru/mysql.php
2) При помощи специальной надстройки к табличному редактору Excel с длиннющим названием Excel to MySQL Import, Export & Convert 1. 1 от компании Sobolsoft. Размер утилиты — 5, 7Mb, стоимость — 20 долларов США.
3) http://www.sqlmanager.net/ru/products/mysql/dataimport
4) http://softsearch.ru/programs/103-790-php-csv-importer-download.shtml
5) http://www.mysql.ru/. 2mysql.zip
Ruscon
Spreadsheet_excel_reader
Как импортировать файл excel в базу данных MySQL
может кто-нибудь объяснить, как импортировать файл Excel в базу данных MySQL?
например, моя таблица Excel выглядит так:
10 ответов:
экспортировать его в текстовый формат. Самым простым, вероятно, будет версия с разделителями табуляции, но CSV также может работать.
используйте возможность загрузки данных. См.http://dev.mysql.com/doc/refman/5.1/en/load-data.html
посмотрите на полпути вниз по странице, так как это даст хороший пример для данных, разделенных вкладками:
поля заканчиваются на ‘\t’, заключенные в » Escape BY ‘\ ‘
Проверьте свои данные.
Иногда цитирование или экранирование имеет проблемы, и вам нужно настроить свой источник, команду импорта-или это может быть просто проще после обработки через SQL.
есть простой онлайн-инструмент, который может сделать это под названием sqlizer.io.
вы загружаете файл XLSX в него, вводите имя листа и диапазон ячеек, и он будет генерировать инструкцию CREATE TABLE и кучу инструкций INSERT для импорта всех ваших данных в базу данных MySQL.
Excel2MySQL или программа коммунальные услуги. Полное раскрытие информации, я являюсь автором Excel2MySQL. Эти 2 утилиты не являются бесплатными, но они являются самым простым вариантом и имеют наименьшее количество ограничений. Они также включают в себя дополнительные функции, чтобы помочь с импортом данных Excel в MySQL. Например, Excel2MySQL автоматически создает таблицу и автоматически оптимизирует типы данных полей, такие как даты, время, поплавки и т.
д. Если вы торопитесь или не можете получить другие варианты для работы с вашими данными, то эти утилиты могут удовлетворить ваши потребности.
ЗАГРУЗИТЬ ФАЙЛ ДАННЫХ: этот популярный вариант, пожалуй, самый технический и требует некоторого понимания выполнения команд MySQL. Вы должны вручную создайте таблицу перед загрузкой и используйте типы полей VARCHAR соответствующего размера. Таким образом типы данных поля не оптимизированы. LOAD DATA INFILE имеет проблемы с импортом больших файлов, которые превышают размер «max_allowed_packet». Особое внимание требуется, чтобы избежать проблем с импортом специальных символов и иностранных символов Юникода. Вот недавний пример, который я использовал для импорта csv-файла с именем тест.csv.
phpMyAdmin: Сначала выберите базу данных, затем перейдите на вкладку импорт. phpMyAdmin автоматически создаст вашу таблицу и размер ваших полей VARCHAR, но не будет оптимизировать типы полей.
phpMyAdmin имеет проблемы с импортом больших файлов, которые превышают размер «max_allowed_packet».
MySQL для Excel: это a бесплатная надстройка Excel от Oracle. Этот вариант немного утомителен, потому что он использует мастер, а импорт медленный и глючит с большими файлами, но это может быть хорошим вариантом для небольших файлов с данными VARCHAR. Поля не оптимизированы.
выберите соответствующие ячейки:
вставить в Г-Н Конвертер Данных и выберите выход MySQL:
измените имя таблицы и определения столбцов в соответствии с вашими требованиями в сгенерированном выводе:
если вы используете MySQL Workbench или уже вошли в mysql из командной строки, то вы можете выполнить сгенерированные инструкции SQL из Шага 3 непосредственно. В противном случае, вставьте код в текстовый файл (например, import.sql ) и выполните эту команды из оболочки Unix:
mysql mydatabase < import.
sql
другие способы импорта из файла SQL можно найти в этот ответ переполнения стека.
Не уверен, что у вас есть все эти настройки, но для меня я использую PHP и MYSQL. Поэтому я использую PHP класс PHPExcel. Это занимает файл практически в любом формате, xls, xlsx, cvs. а затем позволяет читать и / или вставлять.
Так что я заканчиваю тем, что загружаю excel в объект phpexcel, а затем перебираю все строки. Основываясь на том, что я хочу, я пишу простую команду SQL insert для вставки данных в файл excel в мою таблицу.
на переднем конце немного работа, но это всего лишь вопрос настройки некоторых из существующих примеров кода. Но когда вы его набрали, внесение изменений в импорт происходит просто и быстро.
лучший и самый простой способ-использовать приложение «MySQL для Excel», которое является бесплатным приложением от oracle. это приложение добавило плагин для excel для экспорта и импорта данных в mysql. вы можете скачать это с здесь
для пошагового примера для импорт Excel 2007 в MySQL с правильной кодировкой (UTF-8) поиск этого комментария:
«опубликовано Майк Лэрд 13 октября 2010 12: 50am»
в следующем URL:
http://dev.
mysql.com/doc/refman/5.1/en/load-data.html
при использовании текстовых файлов для импорта данных у меня были проблемы с кавычками и тем, как Excel форматировал числа. Например, моя конфигурация Excel используется запятая в качестве десятичного разделителя вместо точки.
теперь я использую Microsoft открыть 2010, чтобы открыть мою таблицу MySql как связанную таблицу. Там я могу просто скопировать и вставить ячейки из Excel в Access.
для этого сначала установить драйвер ODBC MySql создать ODBC соединение. Затем в access, на вкладке «внешние данные», откройте диалоговое окно» база данных ODBC » и ссылку на любую таблицу, используя соединение ODBC.
вы могли бы использовать DocChow, очень интуитивный GIU для импорта Excel в MySQL, и это бесплатно на большинстве распространенных платформ (включая Linux).
особенно если вас беспокоит дата, типы данных datetime, DocChow легко обрабатывает типы данных.
Если вы работаете с несколькими электронными таблицами Excel, которые вы хотите импортировать в одну таблицу MySQL, DocChow выполняет грязную работу.
Шаг 1 Создайте свой CSV-файл
Шаг 2 войдите на свой сервер mysql
Шаг 3 загрузите csv-файл
Импорт данных Excel в MySQL с помощью phpMyAdmin
Итак, вы создали базу данных из набора данных Excel
Но как импортировать данные Excel в MySQL? С phpMyAdmin этот процесс безболезненный и простой. Это удобно для разработчиков, которым необходимо перенести данные с одной платформы CMS или среды разработки на другую.
В этом руководстве этот процесс будет объяснен шаг за шагом. Различные параметры настройки базы данных и наборов символов выходят за рамки данного руководства. Вот шаги, которые необходимо выполнить, чтобы импортировать данные Excel в MySQL с помощью phpMyAdmin:
Шаг 1
Откройте файл Excel. Выберите рабочий лист, который вы сначала хотите экспортировать. Если у вас есть несколько рабочих листов в одной книге или файле Excel, вам потребуется экспортировать несколько файлов. Вы не можете импортировать документ Excel с несколькими листами одним быстрым махом (к сожалению, по крайней мере, насколько мне известно).
Шаг 2
После выбора рабочего листа перейдите в меню «Файл» и выберите «Сохранить как». В раскрывающемся меню форматирования выберите параметр «Значения, разделенные запятыми (.csv)». Вы увидите сообщение о том, что параметр «Сохранить как .csv» не может сохранять книги, содержащие несколько листов (как описано в шаге 1). Просто нажмите «ОК» и выберите путь к сохраненному документу. Повторите этот процесс для каждого рабочего листа в документе Excel.
Шаг 3
После того, как вы сохранили каждый из ваших листов Excel отдельно в формате CSV, вы готовы использовать функцию импорта phpMyAdmin.
Шаг 4
Большинство хостинг-провайдеров используют программу phpMyAdmin для управления базами данных MySQL. Если вы не знаете, как получить доступ к базам данных на вашем сервере, обратитесь к поставщику услуг.
Шаг 5
После входа в phpMyAdmin вам нужно будет создать новую базу данных. Нажмите на ссылку «База данных». Вы увидите поле с надписью «Создать новую базу данных». Введите подходящее имя для вашей базы данных и нажмите кнопку «Создать». SQL-запрос, который создал вашу новую базу данных, будет отображаться на экране.
Шаг 6
Теперь вам нужно создать таблицы для вашей базы данных. В поле ввода «Создать новую таблицу в базе данных (имя, которое вы дали базе данных)» введите имя вашей новой таблицы и «Количество полей» для вашей таблицы. Количество полей должно совпадать с количеством столбцов в листах, которые вы экспортировали (и собираетесь импортировать). После того, как вы введете соответствующие значения, выберите «Перейти».
Шаг 7
Далее вам нужно будет вручную ввести имена полей для этой таблицы. Имя поля должно соответствовать имени заголовка столбца вашего рабочего листа. Вам также нужно будет вставить максимальную длину/значения для соответствующих полей. Эти максимальные значения варьируются в зависимости от того, какой тип данных будет включен. Для столбца базы данных с почтовыми индексами США (без добавочных почтовых номеров) необходимо только установить длину/значение 5. Для столбца базы данных, в котором хранятся почтовые адреса, потребуется больше символов, а значит, и максимальная длина/значение. После того, как вы назначите эти поля заголовка и их максимальные значения, нажмите «Сохранить».
Шаг 8
Теперь вы готовы импортировать файлы .csv. В левой колонке интерфейса phpMyAdmin выберите только что созданную таблицу. Далее нажмите на вкладку «Импорт».
Шаг 9
Нажмите кнопку «Обзор» и выберите созданный файл .csv. Убедитесь, что в разделе «Формат импортируемого файла» выбрано «CSV». Далее вам нужно будет переключить значение поля «Поля, оканчивающиеся» на запятую (,). Все остальное можно оставить как есть. Наконец, нажмите на кнопку «Перейти».
Шаг 10
Чтобы убедиться, что все ваши данные были импортированы, щелкните вкладку «Обзор». Вы должны увидеть все строки и данные, которые были импортированы из CSV-файла.
Шаг 11
Чтобы импортировать несколько рабочих листов Excel, просто повторите шаги с 6 по 10 этого руководства.
Если эта статья оказалась для вас полезной, поделитесь ею с другими. Если вам нужна дополнительная помощь с вашим проектом, вы можете воспользоваться моими услугами веб-разработки.
Другие статьи
Как импортировать таблицу базы данных MySQl в Excel
- 26,7к
0
0
Здесь мы описываем подключение к Excel с базой данных сервера MySQL и импорт таблицы или данных в Excel. Итак, мы должны использовать эту технику; сначала мы должны подключить Excel к базе данных MySQL с помощью моего коннектора ODBC 3.51 и импортировать таблицу в лист Excel. В этой таблице мы должны отображать данные и редактировать данные в таблице. Итак, у нас есть таблица в нашей базе данных и мы подключаемся через коннектор.
Мы должны выполнить следующие шаги, которые приведены ниже:
Шаг 1: Установите драйвер для MySQL Connector/ODBC.
Шаг 2: Перейдите в меню «Пуск» нажмите->Панель управления->Администрирование->Источники данных(ODBC).
Шаг 3: В Источниках данных отобразите окно и нажмите кнопку Добавить. Он содержит всю информацию о подключении.
Шаг 4: После нажатия кнопки «Добавить» откройте окно создания нового источника данных, выберите источник данных и нажмите «Готово». Мы должны использовать базу данных MySQL и найти ее, чтобы увидеть драйвер MySQL ODBC 3.