Как импортировать таблицу Excel в SQL Server?

Мне нужно импортировать таблицу Excel в SQL Server 2005. Какие шаги мне нужно предпринять, чтобы выполнить это?

Ответы

Ответ 1

Мастера "Data Transformation Services" - ваш друг.

В инструкциях здесь подразумевается SQL Server 2000

  • Открыть SQL Server Enterprise Manager
  • Щелкните правой кнопкой мыши соответствующий сервер
  • Выберите Импорт данных
  • Запустите мастер.
    • Нажмите "Далее" на первом экране
    • Выберите "Microsoft Excel" в качестве источника данных
    • Введите путь к файлу XLS и нажмите "Далее" .
    • Введите сведения о подключении для своей базы данных и нажмите "Далее" .

В зависимости от того, что вы хотите делать с данными, у вас есть несколько новых вариантов. Для одноразовых заданий мне обычно проще всего импортировать все данные excel, а затем редактировать его в SQL Server, но если вы собираетесь повторять это действие для нескольких файлов, вы можете создать действительно сексуальный импорт script.

Если вы собираетесь запустить его снова, вы можете сохранить пакет DTS с помощью мастера, а затем отредактировать его в разделе "Услуги преобразования данных" в Enterprise Manager. Это хороший способ узнать, как работает DTS.

Ответ 2

вы также можете сделать это с помощью OPENROWSET

INSERT INTO SOMETABLE SELECT * FROM OPENROWSET( 'Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls','SELECT * FROM [Sheet1$]')

Ответ 3

Альтернативным быстрым и (очень) грязным решением является добавление формулы к листу excel, например:

="INSERT INTO table1(col1, col2, col3) SELECT " & A1 & ", '" & B1 & "', '" & C1 & "'"

Скопируйте это вниз (CTRL + D), и вы хорошо пойдете.

Ответ 4

Если ваша таблица не организована хорошо для индивидуального импорта в таблицы SQL (например, форматирование для чтения с подзаголовками, пробелы, столбцы сумматора и т.д.), тогда есть готовые инструменты вы можете использовать этот тип вещей. См. Khronos Excel Pump для примера. ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ - я работаю в компании, которая продает это. Это довольно настраиваемо, поэтому вы можете хранить таблицу в человеческом макете и надежно импортировать в структурированные таблицы SQL, включая замену текстовых значений значениями полей идентификатора или поворот широких сеток на узкие таблицы и т.д.