欢迎来到天天文库
浏览记录
ID:34725856
大小:335.68 KB
页数:9页
时间:2019-03-10
《sqlserver2005与excel之间的导入与导出》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQLServer2005与Excel之间的导入、导出一、sql2005中导入excel中数据方法一:利用SQLServer2005自带的DTS工具,手工导入,详细操作请看图。具体操作为:导入成功后,表中数据如下所示:方法一优缺点:优点:傻瓜式操作,操作简单,容易掌握。缺点:用此种方法导入时,excel表格必须很规范才行,也就是说如果想导入后表中的字段和excel表的标题行对应,那么标题行最好放在excel表格的第一行,否则导入的数据很混乱。而且当数据不完整或者数据格式不正确的情况下,使用向导也会出错。这时就要采用方法二。方法二:在查询分析器里,直接写SQL
2、语句:1、如果是导入数据到现有表,则采用INSERTINTO表名数据库中已经存在的表的名称SELECT*FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=d:test.xls要导入数据的excel文件的路径及名称',sheet1$工作表的名称,后面别忘了加$)的形式2、如果是导入数据并新增表,则采用SELECT*INTO表名数据库中要创建的表的名称FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATA
3、BASE=d:test.xls',sheet1$)的形式。以上语句是将EXCEL文件里SHEET1工作表中所有的列都读进来,如果只想导部分列,可以INSERTINTO表(a1,a2,a3)导入的数据放在哪些列里面,在这里列出来。SELECTa1,a2,a3这些是excel表中的标题FROMOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=d:test.xls',sheet1$)注意:SQLServer数据库远程操作中,在使用OPENROWSET/OPENDATASOURCE前首
4、先要启用AdHocDistributedQueries服务,因为这个服务不安全所以SqlServer默认是关闭的。(1)启用AdHocDistributedQueries的方法启用AdHocDistributedQueries的方法,执行下面的查询语句就可以了:exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure (2)关闭AdHocDistributedQueries的方法:使用
5、完毕后,记得一定要关闭它,因为这是一个安全隐患,切记执行下面的SQL语句:exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure 方法二优缺点:优点:在用DTS工具导入无法成功时,可以采用该方法。较方法一成功率较高。缺点:要用到语句,操作复杂,语句不好记,且在运行语句时要注意的问题较多。sql2005中数据导出至excel中数据方法一:利用SQLServer2005自带的DTS工具,
6、手工导出和上面一样,只是选择导出数据即可,数据源和数据目标正好相反,这里不再赘述。方法二:在查询分析器里,直接写SQL语句:如果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:insertintoOPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel5.0;HDR=YES;DATABASE=d:test.xls',sheet1$)select*from表这里同样注意在运行导出语句前先启用AdHocDistributedQueries服务,运行完后,再关闭
7、dHocDistributedQueries服务,启用和关闭方法和上面一样,这里不再重复。
此文档下载收益归作者所有