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