【问题标题】:Join Excel spreadsheet to a SQL database将 Excel 电子表格加入 SQL 数据库
【发布时间】:2013-02-23 02:00:49
【问题描述】:

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

"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 以创建一个我可以加入的临时表......但这似乎仍然相当混乱和低效破解

【问题讨论】:

    标签: sql excel sql-server-2005


    【解决方案1】:

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

    【讨论】:

    • 最好、最优雅的解决方案! +1
    【解决方案2】:

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

    【讨论】:

    • 连接得很好,但现在我盯着一个奇怪的查询创建窗口(不是向导),一个小时的谷歌搜索没有找到任何关于加入电子表格和数据库的有用文档表。知道从这里去哪里吗?
    • Joel Coehoorn 能否请您描述一下如何实现 excel 电子表格和 sql 表之间的连接操作,Kon 在他的问题中是如何问的?
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多