加入Excel电子表格到SQL数据库

问题描述:

我经常收到看起来像这样的请求:加入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以创建一个临时表,我可以加入......但仍然看起来像一个相当混乱和低效的黑客

您可以将Excel电子表格导入专门为此创建的数据库中的表格中。在SSMS中,右键单击数据库,转到任务 - >导入数据,然后选择Excel作为数据源。

+0

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

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