2010-07-22 2 views
1

Интересно, существует ли (собственная) возможность создать таблицу MySQL из таблицы .xls или .xlsx. Обратите внимание: я не хочу импортировать файл в существующую таблицу с LOAD DATA INFILE или INSERT INTO, но для создания таблицы с нуля. используя заголовок как столбцы (с некоторым типом поля по умолчанию, например INT), а затем вставлять данные за один шаг.Создать таблицу MySQL из таблицы xls

До сих пор я использовал скрипт python для создания инструкции create и впоследствии импортировал файл, но каким-то образом я чувствую себя неуклюжим с этим подходом.

ответ

1

В этом нет встроенного средства MySQL, но MySQL PROCEDURE ANALYSE может помочь вам предложить правильные типы столбцов.

1

С помощью VB Script вы можете это сделать. У моего клиента у нас есть скрипт, который принимает имя рабочего листа, названия заголовков и форматы полей и генерирует SQL-скрипт, содержащий CREATE TABLE и инструкции INSERT INTO. Мы используем Oracle, но mySQL - это тот же принцип.

Конечно, вы могли бы сделать это еще более сложным, обратившись к mySQL из Excel с помощью ODBC и разместив инструкции CREATE TABLE и INSERT INTO таким образом.

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

+0

У меня есть сценарий python, который делает это :). Для части ODBC: я не уверен, что мой мини-excel делает это ... но thx за это предложение. –

+0

Я согласен, что функция mySQL-анализа - лучший способ определить формат столбцов. Конечно, вы можете написать это самостоятельно в VBA, используя «myCellRange.NumberFormat» для анализа формата столбцов. Но есть так много форматов, и часто используется только «Общий» формат, который не говорит вам многого. – hol

Смежные вопросы