Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синхронизация excel и mysql

Подключение MySQL в Excel

Приложение Excel позволяет создавать подключение к внешним источникам, в том числе базам данных. Но при необходимости подключиться к базе данных под управлением СУБД MySQL, возникает проблема. Программа просто «не умеет» этого делать, но «научить» ее легко.

Установка драйвера

Прежде необходимо установить драйвер Connector/ODBC от Oracle Corporation, скачать который можно по адресу http://dev.mysql.com/downloads/connector/odbc/ (при выборе драйвера под определенную ОС есть важный нюанс, который будет описан ниже).

Создание источника данных

Далее необходимо создать источник данных ODBC. Для этого заходим в «Панель управления», выбираем пункт «Администрирование», в нем пункт «Источники данных (ODBC)». Откроется следующее окно:

Выбираем «Добавить» и попадаем в меню выбора драйвера:

В списке имеется два возможных драйвера для MySQL различных кодировок: Unicode и ANSI. Выбирайте необходимую Вам. Если не знаете, какая Вам нужна, или это не имеет значения, то лучше устанавливать Unicode.
В параметрах подключения указываете:

  1. Произвольное название источника;
  2. Описание источника;
  3. Сервер и порт. Порт оставляйте по умолчанию, если того не требуют настройки сервера;
  4. Пользователь и пароль, как при подключении в phpMyAdmin.

Протестируйте подключение к источнику, нажав кнопку «Test». Если подключение прошло успешно, то в списке баз данных «Database» должен появиться список доступных баз. Выдираем необходимую и жмем «OK». Источник создан.

Подключение к источнику из Excel

Проходим в книге Excel на вкладку «Данные» -> раздел «Подключения» -> «Из других источников» -> «Из мастера подключения данных».

Выбираем «ODBC DSN» -> созданное ранее подключение.

Дальнейшая работа аналогична стандартному подключению к SQL Server.

Ошибка совпадения архитектур

После установки соответствующего драйвера на 64-разрядную ОС, создании источника и подключения к нему, даже если все сделано правильно, может быть выдана ошибка «dns архитектура драйвера и архитектура приложения не соответствуют друг другу».
Проблема заключается в следующем. Вероятно, что во время инсталляции пакета программ Microsoft Office были выбраны параметры по умолчанию, при которых устанавливается 32-рязрядная версия. Таким образом, происходит несовпадение разрядностей драйвера и приложения.
Решение – скачать и установить дополнительно драйвер для Windows 32-bit.
Если установить только 32-битный драйвер, то подключение будет возможно, но создать источник через панель управления не получиться.

синхронизация 1C (excel) и mySQL

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщения 12

1 Тема от Sergunik 2008-02-25 17:17:20

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Тема: синхронизация 1C (excel) и mySQL

Если уже подобная тема существует — то не судите строго.
У меня на роботе появилось задание надо обединить базу из 1C и базу даных SQL.
Первые шаги были такими:
БД по кускам (по разделам) сливали в екселевскую таблицу;
из xml в csv;
а потом через phpMyAdmin импортировали в базу даных SQL.

Умельцы! подскажите, есть ли более удобный способ. Возможно что-то подобное у Вас тоже было.
Жду ответа.

2 Ответ от Hanut 2008-02-25 21:02:18

  • Hanut
  • Модератор
  • Неактивен
  • Откуда: Рига, Латвия
  • Зарегистрирован: 2006-07-02
  • Сообщений: 9,660

Re: синхронизация 1C (excel) и mySQL

Sergunik
Если у самой программы нет экспорта в SQL запросы, то импорт через CSV видится практически единственным, если не принимать во внимание возможность написать скрипт импортирующий данные в MySQL из XML.

Читать еще:  Скачать видео посылки

Попробуйте поискать программы конверторы из excel в SQL.

3 Ответ от evgenvl 2008-02-26 10:14:39

  • evgenvl
  • Новичок
  • Неактивен
  • Зарегистрирован: 2008-02-19
  • Сообщений: 1

Re: синхронизация 1C (excel) и mySQL

Зайди на форум СМС Битрикс. Они как то реализовали перевод базы 1С в SQL. Там думаю помогут быстрее.

4 Ответ от Sergunik 2008-02-26 15:47:45

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Зайди на форум СМС Битрикс. Там думаю помогут быстрее.

там только платные решения, а я хочу чтобы кто-то кодом поделился.

5 Ответ от Sergunik 2008-03-06 14:30:57 (изменено: Sergunik, 2009-05-22 22:00:08)

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Решение найдено.
Я написал небольшой скрипт который из [size=14]CSV-файла вносит изменения в базу даних SQL[/size].
Что-то похожее есть в PHPmyAdmin (при импорте), но у меня более толково.
Так что кому надо, пишите на мыло — скину php-файл (адрес Sergunik[@]ua.fm)
или смотрите сдесь sergunik.name/?p=97

6 Ответ от Sergunik 2008-05-14 13:31:57

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Недавно разобрал шоп-скрипт ПРЕМИУМ. Оказывается там скрипт аналогичный моему.
А мой скриптик работает на ура
Сделал уже вторую версию. БЕЗПЛАТНО.
пишите на мыло, поделюсь, я не жадный

7 Ответ от grytskiv 2008-10-12 19:26:00

  • grytskiv
  • Новичок
  • Неактивен
  • Зарегистрирован: 2008-10-12
  • Сообщений: 1

Re: синхронизация 1C (excel) и mySQL

привет! Мне нужен такой скрипт ( grytskiv @ mail . com ). Спасибо!

8 Ответ от ZWorld 2009-01-26 13:09:20

  • ZWorld
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2009-01-26
  • Сообщений: 2

Re: синхронизация 1C (excel) и mySQL

Недавно разобрал шоп-скрипт ПРЕМИУМ. Оказывается там скрипт аналогичный моему.
А мой скриптик работает на ура
Сделал уже вторую версию. БЕЗПЛАТНО.
пишите на мыло, поделюсь, я не жадный

Будь так добр, скинь скриптик на мыло zheneva-zv [at] mail.ru
Очень интересная тема

9 Ответ от Sergunik 2009-03-01 19:03:39

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Огромная просьба: [size=16]Пишите только на мыло, так как я тут бываю редко[/size]
напоминаю мыло Sergunik [@] ua.fm

кста, на сегодняшний день уже отослано около полсотни писем, и написана уже третья версия скрипта

10 Ответ от ZWorld 2009-03-02 12:11:48

  • ZWorld
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2009-01-26
  • Сообщений: 2

Re: синхронизация 1C (excel) и mySQL

Спасибо за скриптик, будем разбираться

11 Ответ от Sergunik 2009-08-28 15:32:43 (изменено: Sergunik, 2009-08-28 15:32:58)

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Более подробно о скрипте импорта с CSV в mySQL написано в этом посте http://sergunik.name/?p=97, там же его можна скачать.
Скрипт скачан уже больше сотни раз

12 Ответ от Sergunik 2010-02-15 19:50:11

  • Sergunik
  • Редкий гость
  • Неактивен
  • Зарегистрирован: 2008-02-25
  • Сообщений: 13

Re: синхронизация 1C (excel) и mySQL

Как считаете, нужно ли в этот скрипт добавить аплоад файла на сервак?

Сообщения 12

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Форум работает на PunBB , при поддержке Informer Technologies, Inc

Currently installed 7 official extensions . Copyright © 2003–2009 PunBB.

Автоматизация обработки таблиц в Excel и перенос данных в MySQL [Разбор кейса]

Благодарность: Карло Мелис (Carlo Melis), ИТ консультант, работает по заданию международного негосударственного органа по сертификации пищевой продукции, Рим, Италия.

Читать еще:  Посчитать кол во строк excel

Надстройки в фокусе: Автоматизация без VBA (извлечение таблиц, SQL запросы, экспорт из Excel в MySQL). Поддерживается в версии XLTools 5.0.0.762 и выше.

Обзор кейса

Карло, ИТ консультант, работал над сложной, но довольно типичной задачей. Ему нужно было разработать систему, которая бы создавала отчеты для руководства на основе Excel файлов, полученных от порядка 10-20 исследовательских лабораторий.

Сначала эти отчеты создавали в Excel – в основном вручную – и направляли руководству и лабораториям в печатном виде или PDF.

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

Первоначальный подход занимал около 20 дней ужасной работы. Нам приходилось иметь дело с ошибками после копирования огромного объема данных из одного сводного отчета в Excel в отдельные отчеты по каждой задействованной лаборатории. Форматы очень разные, поэтому не представлялось возможным автоматизировать этот процесс в Excel. Кроме того, клиенту нужны были графики, где можно было бы сравнить результаты, полученные много месяцев назад – такое возможно только при выгрузке данных в MySQL.

В подобных задачах важно, во-первых, минимизировать работу вручную и сократить время на подготовку данных. Во-вторых, аккуратно экспортировать подготовленные данные в MySQL.

Один из подходов к автоматизации – создать специальный макрос VBA. Но при таком большом объеме необходимых операций написание макроса с нуля займет неоправданно много времени. Кроме того, если вы хоть раз пробовали настроить интеграцию макроса с внешней базой данных, вы представляете, насколько утомительной может быть синхронизация вручную. Одно небольшое изменение в процессе (к примеру, другое название исходной таблицы) ведет к бесконечным правкам в скрипте.

Надстройка XLTools, с другой стороны, дала Карло гибкие инструменты для автоматизации всего процесса без VBA: извлечь, подготовить и экспортировать данные в базу данных MySQL.

XLTools Автоматизация – это мощный и многоцелевой инструмент. Последовательность всех операций записана на одном листе Excel, и все операции вручную сводятся к нажатию одной единственной кнопки.

Мой клиент очень доволен результатами, потому что теперь мы можем выполнить всю работу за 2 часа вместо 20 дней. XLTools помог нам облегчить работу с текущей XLS структурой. Процесс открыт для правок в будущем – скрипт очень легко изменить. Сейчас мы переносим данные в базу данных за минуты, где уже формируем все нужные отчеты.

Рассмотрим некоторые операции, автоматизированные в этом процессе.

Шаг 1. Автоматически собрать данные из файлов Excel

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

Именно это и выполняет команда XLTools.ExtractTable:

  • Она извлекает данные из внешних Excel или CSV файлов. Вы можете собрать все необходимые данные в одном месте и продолжить работу с полным объемом данных. По большому счету, это инструмент копирования-вставки.
  • Извлекая простой диапазон, он будет вставлен как именованная таблица. Только данные в формате таблицы могут служить источником данных для дальнейших операций, в т.ч. для выполнения SQL запросов в Excel.
Читать еще:  Подсчет определенных символов в ячейке excel

Например, нам нужно извлечь эту таблицу с числовыми кодами, присвоенными лабораториям:

Синхронизация excel и mysql

Все ленты — последние статьи
  • laravel 5 Internal Server Error
  • CMS настроить подключение к MySQL
  • Сопровождение ПО и сайтов, создание под заказ, мои работы
  • Магия Laravel: динамические where https://laravelinfo.com
  • Setup the Facebook SDK for JavaScript
  • Laravel Аутентификация (авторизация ) с коробки
  • Как установить Composer на OpenServer ?
Главная
  • О сайте
  • Карта сайта
ИТ — специалист
  • *delphi*
    • Все статьи
  • *Сайтостроение*
    • Все статьи
    • HTML, CSS
    • Javascript, jQuery, иные скрипты
    • CMS (Joomla, Drupal..)
  • *Linux*
    • Заметки Linux
    • Консольные команды
    • Все статьи
  • *PHP*
    • Все статьи
      • Базы данных
      • Синтаксис
      • Графика
      • Файлы
      • Строки
      • Система
      • Функции
      • Безопасность
      • Поиск. Авторизация
      • Сеть. Почта
      • Сервисы, чаты, иное
  • *Админка под Win*
    • Заметки, статьи
  • *Sql (mysql,firebird)
    • Заметки, статьи
  • *фото-галерея статей
Программы
  • Загрузки

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

Обмен данными между 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, то она воистину многогранна, начиная от использования в качестве удобного инструмента для операторов баз данных и заканчивая эксплуатацией в собственных программных разработках. На этой оптимистической ноте и поставим точку в нашей маленькой заметке.

Ссылка на основную публикацию
Adblock
detector