2013-02-22 71 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 Server Management Studio中SQL數據庫?我通常複製ID來製作一個龐大的IN列表,這顯然很不理想。如果我沒有得到每行1:1的匹配,那麼我仍然有排隊數據的任務。

我使用SQL Server 2005和Excel 2010

我試圖添加一個Excel電子表格的鏈接服務器,但查詢它警告我說,'Ad Hoc Distributed Queries'被封鎖,必須啓用。我不確定可能會產生哪些負面影響,所以我沒有再走下去。

我的下一個想法是使用Excel公式爲Excel中的每一行創建一個SELECT [Col_A], [Col_B], [Col_C] UNION ALL,然後將其複製到SSMS以創建一個臨時表,我可以加入......但仍然看起來像一個相當混亂和低效的黑客

回答

5

您可以將Excel電子表格導入專門爲此創建的數據庫中的表格中。在SSMS中,右鍵單擊數據庫,轉到任務 - >導入數據,然後選擇Excel作爲數據源。

+0

最好,最優雅的解決方案! +1 – 2013-02-22 18:01:06

0

Excel可以直接連接到Sql Server。具體來說,你想使用MS Query。這將允許您直接使用SQL將您的Excel工作表加入數據庫。

+0

知道它連接的很好,但現在我盯着一個奇怪的查詢創建窗口(而不是嚮導),一小時的谷歌搜索沒有出現任何關於加入電子表格和數據庫表的有用文檔。任何想法從哪裏去? – Kon 2013-02-22 19:06:13

+0

Joel Coehoorn能否介紹一下如何在excel電子表格和sql表格之間實現聯接操作,Kon如何在hes中提出問題? – 2015-10-09 13:52:50

相關問題