在查询分析器里,直接写SQL语句:
--启用Ad Hoc Distributed Queries:
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--全部列
insert into 学籍信息 SELECT * FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=E:\学籍信息.xls',[学籍信息$])
--部分列
insert into 学籍信息 (学籍号,姓名) SELECT 学籍号,姓名 FROM OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0','Excel 8.0;IMEX=1;HDR=YES;DATABASE=E:\学籍信息.xls',[学籍信息$])
***************************************************************************************
如果是导入数据到现有表,则采用
INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式
如果是导入数据并新增表,则采用
SELECT * INTO 表 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
的形式。
以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以
INSERT INTO 表(a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)
其实可以将OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)当成一个表,例如我就写过这样一个句子:
INSERT INTO eval_channel_employee(channel,employee_id)
SELECT CASE a.渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END
,b.id FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\temp\name.xls',sheet1$) AS a,pers_employee b
WHERE a.员工编码=b.code
不管是哪种方式,哪种途径,系统都会默认将第一行上的内容作为字段名。
这二种方式虽然非常好,但操作过程不太方便,经过测试发现在SQL2005中直接可以实现导入功能。操作过程如下:
第一步:登录到SQL Server Management Studio,
第二步:在“对象资源管理器”中右键单击“管理”,在弹出列表中单击“导入数据”
第三步:在“导入向导”对话框中单击“下一步”,进入到“选择数据源”对话框,在“数据源”列表中选择“Microsoft Excel ”
,同时选择相应的Excel 文档,完成后单击“下一步”(一定要勾选该对话框中的“首行包含列名称”,因此它是将Excel文档中的
列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击“下一步”。。。。至到“完成”
第五步:重新打到SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的Excel文档数据。
分享到:
相关推荐
将Excel中的数据导入到SqlServer中的实现方法总结。还有一个简单的例子
实现Excel数据导入到SQL2005中的方法
从Excel数据表中导入数据到SQL2005
将Excel数据导入到SQLServer中,可以选择要导入的Excel文件和Sheet名称,表名。通过自动编写存储过程来实现导入功能。实际使用无须这么麻烦,可以作为数据导入和存储过程参考例子。
C# excel 数据导入到sqlserver,方便数据的整理
excel数据导入到sql server数据库中,
如何用PL/SQL将EXCEL数据导入到ORACLE数据库中,截图教大家。
我这个实例,是将数据从Excel直接导入到SQL-Server数据库中。
将Excel中数据导入Sql中 Word 文档
由于之前没有将Excel数据导入SQL Server2005的经验,因此摸索着花了一天时间才搞定。下面将网上收集到的几种导入方法做个归纳。 方法一、利用SQL Server2005自带的DTS工具,手工导入: 第一步是点击开始并选择运行...
Excel数据导入SQL工具
一个将excel文件导入到SQLServer表中的程序 一 双击Input.exe运行程序,将弹出一个窗口,这时请你在"数据库名"后面的 输入栏中输入数据库名(如果是千方百剂就是输入帐套名).你如果没对数 据库的登录进行特殊修改的...
从excel表中检索数据,插入到SQL2005数据中。
jxl ibatis sqlserver2005 excel 存储过程 struts excel数据导入到sqlserver2005
此为word文档,导入方法。这个方法是到目前为止我见到最好的方法
怎样把数据从excel2007导入到sqlserver2005
Excel是一种非常灵活的电子表格软件,用它可以存储各种数据,本节将对如何将Excel导入SQL Server2000数据库进行详细介绍。 开发环境:NET2.0 开发工具:vs2005 开发语言:c# 数据库:server2000
Excel把数据导入到SQL数据库中
利用EXCEL中的宏,直接将excel中的数据导入到sqlServer数据库脚本
从Excel导入数据到SQLServer中的c#程序,WINDOWSXP平台,VS2005,SQL SERVER 2000