Какой самый простой способ экспортировать таблицу из MS-Excel или OpenOffice calc и импортировать ее в базу данных mysql, где:

  1. Таблица будет импортирована как таблица в Mysql
  2. Заголовки таблицы будут полями базы данных MySQL.
  3. Будет проведен умный анализ того, какой тип данных находится внутри ячеек, например, текстовое поле, целое число или значение с плавающей запятой.

3 ответа3

5

Один из инструментов, который у меня всегда есть, - Pentaho Kettle, фантастический кросс-платформенный ETL с открытым исходным кодом. Вы можете найти «бесплатное» издание на http://kettle.pentaho.com/

После того как вы загрузили и установили программное обеспечение, выполните следующие шаги:

  1. Запуск Pentaho Чайник
  2. (Как правило) нажмите «Нет хранилища»
  3. Создать новое преобразование.
  4. С левой стороны вы увидите несколько «блоков». В этом случае перетащите блок «Excel Input» из категории «Input» в ваш файл преобразования.
  5. Дважды щелкните блок, который вы только что перетащили. Следующие шаги относятся к этому блоку
    • Нажмите «Обзор» и выберите файл Excel, который вы хотите импортировать
    • Нажмите «Добавить» (находится слева от кнопки «Обзор»). Вы должны увидеть файл, указанный в списке «Выбранные файлы» под
    • Теперь иди в '!Вкладка «Листы» (должна быть второй вкладкой) и выберите рабочий лист с данными, которые вы хотите импортировать в базу данных.
    • Наконец, иди!Вкладка «Поля» (должна быть последней справа), нажмите на кнопку «Получить поля из строки заголовка ...» и соответственно измените различные типы данных
    • Нажмите кнопку «Предварительный просмотр строк», чтобы убедиться, что все в порядке.
  6. Теперь давайте перенесем эти данные в вашу базу данных SQL. Для простоты я собираюсь описать, как создать новую таблицу в базе данных. Однако обратите внимание, что Kettle предоставляет блоки для обработки обновлений и задач «вставка / обновление».
  7. Еще раз перетащите блок с левой стороны. На этот раз перейдите в раздел «Вывод» и выберите «Вывод таблицы».
  8. Соедините два блока, удерживая клавишу «Shift» и перетаскивая указатель мыши из Excel в блок «Таблица вывода». Следующие шаги связаны с блоком вывода таблицы.
    • Во-первых, нам нужно создать соединение с базой данных. Для этого нажмите кнопку «Новый ...» рядом с раскрывающимся списком «Соединение».
    • В списке «Тип подключения» выберите «MySQL» (как вы можете видеть, Kettle позволяет вам подключаться к огромному количеству различных баз данных). Заполните все соответствующие поля и не забудьте нажать «Тест», чтобы убедиться, что связь работает.
    • Введите название таблицы
    • Перейдите на вкладку «Поля базы данных» и выберите «Ввести сопоставление полей». Отсюда убедитесь, что вы сопоставляете все столбцы Excel в потоке с соответствующими полями MySQL и нажимаете «OK» (если имена в Excel соответствуют вашей таблице, вы можете просто нажать «Guess», чтобы приблизиться).
  9. Наконец, сохраните преобразование и запустите его, выбрав меню «Преобразование> Выполнить». Если все идет хорошо, вы должны увидеть сообщение «Преобразование завершено» в окне выполнения на вкладке «Ведение журнала».

Удачи!

0

Вы можете попробовать импортировать внешние данные из SQLyog. Это простой графический клиент.

0

Excel2MySQL позволяет импортировать таблицы Excel непосредственно в виде таблицы в MySQL. Чтобы импортировать файл OpenOffice Calc, просто сохраните как xls, а затем импортируйте.

(Полное раскрытие, я автор Excel2MySQL).

Он отвечает всем вашим требованиям:

  1. Каждый лист импортируется как таблица в MySQL. Фактически таблица создается автоматически.
  2. Заголовки таблицы можно использовать для определения полей таблицы MySQL.
  3. Excel2MySQL выполняет интеллектуальный анализ типов данных столбцов для автоматической оптимизации типов полей таблицы (tinyint, smallint, mediumint, int, bigint, float, double, varchar, date, time, datetime)

И больше:

  • Подключается напрямую к вашему MySQL серверу
  • Включает интерфейс командной строки, если вам нужно автоматизировать импорт.
  • Добавить или заменить существующую таблицу
  • Автоматически обнаруживать и добавлять новые поля в существующую таблицу
  • Автоматически взрывать объединенные ячейки Excel (не то же самое, что unmerge).
  • При желании исключить пустые строки и пустые столбцы
  • При необходимости измените пробелы на подчеркивания в именах полей (вспомогательная функция)

http://excel2mysql.net

Скриншот

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .