如何将数据从 Excel 导入到 SQL Server

本文中的示例使用以下工具导入 Excel 数据:

•SQL Server 数据传输服务 (DTS)
•Microsoft SQL Server 2005 Integration Services (SSIS)
•SQL Server 链接服务器
•SQL Server 分布式查询
•ActiveX 数据对象 (ADO) 和 Microsoft OLE DB Provider for SQL Server
•ADO 和 Microsoft OLE DB Provider for Jet 4.0
导入与追加
本文使用的示例 SQL 语句演示了“创建表”查询。该查询通过使用 SELECT...INTO...FROM 语法将 Excel 数据导入新的 SQL Server 表。如这些代码示例所示,在继续引用源对象和目标对象时,可以通过使用 INSERT INTO...SELECT...FROM 语法将这些语句转换成追加查询。

使用 DTS 或 SSIS
可以使用“SQL Server Data Transformation Services (DTS) 导入向导”或“SQL Server 导入和导出向导”将 Excel 数据导入到 SQL Server 表中。在逐步执行向导并选择 Excel 源表时,要记住附加美元符号 ($) 的 Excel 对象名称代表工作表(例如,Sheet1$),而没有美元符号的普通对象名称代表 Excel 指定的范围。

使用链接服务器
要简化查询,可以将 Excel 工作簿配置为 SQL Server 中的链接服务器。有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

306397 (http://support.microsoft.com/kb/306397/EN-US/ ) 如何:结合 SQL Server 链接的服务器和分布式查询使用 Excel
下列代码将 Excel 链接服务器“EXCELLINK”上的 Customers 工作表数据导入新的名为 XLImport1 的 SQL Server 表:

SELECT * INTO XLImport1 FROM EXCELLINK...[Customers$]还可以通过按照以下方式使用 OPENQUERY 以全通过方式对源数据执行查询:

SELECT * INTO XLImport2 FROM OPENQUERY(EXCELLINK, 'SELECT * FROM [Customers$]') 使用分布式查询
如果不想将对 Excel 工作簿的永久连接配置为链接服务器,可以通过使用 OPENDATASOURCE 或 OPENROWSET 函数为特定目的导入数据。下列代码示例也能将 Excel Customers 工作表数据导入新的 SQL Server 表:

SELECT * INTO XLImport3 FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0','Data Source=C:\test\xltest.xls;Extended Properties=Excel 8.0')...[Customers$] SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', [Customers$])SELECT * INTO XLImport5 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\test\xltest.xls', 'SELECT * FROM [Customers$]')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值