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

Kon*_*Kon 5 sql excel sql-server-2005

我经常收到类似这样的请求:

"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)
Run Code Online (Sandbox Code Playgroud)

有没有办法获取这样的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以生成我可以加入的临时表...但这仍然看起来像一个相当混乱和低效的黑客

Mel*_*nie 5

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