将Excel电子表格joinSQL数据库

我经常得到这样的请求:

"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电子表格,并将其join到SQL Server Management Studio中的SQL数据库? 我通常复制这个ID来做一个大的IN列表,这显然很不理想。 然后,如果我没有得到每行1:1的匹配,我仍然有排队数据的任务。

我正在使用SQL Server 2005和Excel 2010。

我尝试添加一个Excel电子表格作为链接服务器,但查询它警告说, 'Ad Hoc Distributed Queries'被阻止,必须启用。 我不确定可能会产生什么负面影响,所以我没有再走下去。

我接下来的想法是使用Excel公式为Excel中的每一行创build一个SELECT [Col_A], [Col_B], [Col_C] UNION ALL ,然后将其复制到SSMS中,以创build一个临时表,我可以join…但仍然看起来像一个相当混乱和低效率的黑客

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

Excel可以直接连接到Sql Server。 具体来说,你想使用MS Query 。 这将允许您直接使用SQL将您的Excel工作表join数据库。