我经常收到类似这样的请求:
"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以生成我可以加入的临时表...但这看起来仍然相当混乱和低效的黑客
答案 0 :(得分:5)
您可以将Excel电子表格导入数据库中专门为此原因创建的表格中。在SSMS中,右键单击数据库,转到任务 - >导入数据,然后选择Excel作为数据源。
答案 1 :(得分:0)
Excel可以直接连接到Sql Server。具体来说,您想使用MS Query。这将允许您使用SQL直接将Excel工作表加入数据库。