5

我经常收到看起来像这样的请求:

"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 以创建一个我可以加入的临时表……但这似乎仍然是一个相当混乱且效率低下的 hack

4

2 回答 2

5

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

于 2013-02-22T17:40:24.460 回答
0

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

于 2013-02-22T18:00:49.280 回答