2013-02-22 2 views
4

Я часто получаю запросы, которые выглядят примерно так:Регистрация Excel таблицы в базе данных SQL

"Hey, can you reconcile this Excel spreadsheet with our database and 
fill in the additional info for the ones you find? We also need to know 
which ones are missing." 

ID  Name  Client  AdditionalInfo 
------------------------------------------ 
234 John  Client1 
147 Mike  Client2 
546 Mary  Client3 
... 
(Several hundred or thousand more rows) 

Есть ли какой-нибудь способ взять электронную таблицу Excel, как это и присоединиться к нему в базу данных SQL в SQL Server Management Studio ? Обычно я копирую ID, чтобы сделать массивный список IN, который явно далеко от идеала. Тогда у меня все еще есть задача выстраивать данные, если я не получаю соответствие 1: 1 для каждой строки.

Я использую SQL Server 2005 и Excel 2010.

Я пытался добавить таблицу Excel в качестве связанного сервера, но запрашивая его предупредил меня, что 'Ad Hoc Distributed Queries' блокируются и должны быть включены. Я не уверен, какие отрицательные последствия могут иметь, поэтому я не пошел дальше по этому маршруту.

Моя следующая мысль заключалась в том, чтобы использовать формулы Excel для создания SELECT [Col_A], [Col_B], [Col_C] UNION ALL для каждой отдельной строки в Excel, а затем скопировать ее в SSMS, чтобы создать временную таблицу, в которую я мог бы присоединиться ... но это все еще кажется довольно грязным и неэффективным взломом

ответ

5

Вы можете импортировать электронную таблицу Excel в таблицу в своей базе данных, созданную специально по этой причине. В SSMS щелкните правой кнопкой мыши вашу базу данных, перейдите в «Задачи-> Импорт данных» и выберите «Excel» в качестве источника данных.

+0

Ничтожное, самое изящное решение! +1 –

0

Excel может напрямую подключаться к Sql Server. В частности, вы хотите использовать MS Query. Это позволит вам присоединиться к вашей таблице Excel непосредственно к базе данных с использованием SQL.

+0

Поставил, что он подключен просто отлично, но теперь я смотрю на странное окно создания запросов (а не на мастера), и в течение часа Googling не появилась какая-либо полезная документация о подключении таблиц таблиц и таблиц. Любая идея, куда идти отсюда? – Kon

+0

Joel Coehoorn вы можете описать, как реализовать операцию соединения между таблицей Excel и таблицей sql, как Kon спрашивает в вопросе hes? –

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