注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天边云E家 shaoruisky

IT博文共享,知识的海洋

 
 
 

日志

 
 

Excel与Sql Server之间数据转换  

2012-03-25 15:53:00|  分类: sqlserver |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Excel与Sql Server之间导数据有很多方式,比较方便的一种是直接用SQL语句的方式。

这里总结了从Excel向Sql Server导入数据 和 从Sql Server向Excel导出数据两种SQL。

1、Excel --> SQL Server 2005

--Excel_2_SqlServer.sql

--功能:将Excel中的表格(sheet)导入Sql Server

--要求:

--1、机器上必须按照Microsoft Excel

--使用说明:

--1、需要指定Excel的位置和名字

--2、需要指定Excel的sheet的名字,比如,默认为sheet1

--3、Excel的第一行为“列名”

--4、开头和结尾的两端sql是打开开关用的,无需关心

--5、需要指定要导入的数据库表的名字

 

---- 必须先打开这个开关 ----

exec sp_configure 'show advanced options',1

reconfigure

exec sp_configure 'Ad Hoc Distributed Queries',1

reconfigure

 

----导入数据---------

--SELECT * INTO excelstu   ----数据库里没有相应的表的情形

--or  CREATE TABLE tablename AS SELECT * FROM tablename2

 

--INSERT INTO excelstu SELECT *  ----数据库里已有相应的表的情形

 

FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0'

,'Excel 5.0;HDR=YES;DATABASE=d:\1.xls' -- set excel path here

,sheet1$) --set excel sheet name here, format: sheet+ "$"

 

----数据导入后,关闭之前打开的开关----

exec sp_configure 'Ad Hoc Distributed Queries',0

reconfigure

exec sp_configure 'show advanced options',0

reconfigure 

----------------------------

2、SQL Server 2005 --> Excel 

--SqlServer_2_Excel.sql

--功能:将Sql Server中的数据库表(或表的部分)导入Excel

--使用说明:

--1、需要指定Excel的位置和名字

--2、其余需要设置的参数见xp_cmdshell附近的说明

--3、开头和结尾的两端sql是打开开关用的,无需关心

 

-----开启xp_cmdshell ----

-- 允许配置高级选项

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

-- 启用xp_cmdshell

EXEC sp_configure 'xp_cmdshell', 1

RECONFIGURE

 

---导出数据----------

 

----导出整个数据库表

--EXEC master..xp_cmdshell 'bcp Test.dbo.b_user out d:\temp_all.xls -c -q -S"PC-201001262212" -U"sa" -P"1234"'

 

----命令:EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'

----参数说明:S 是SQL服务器名(登录窗口中的服务器名称);U是用户;P是密码

----注意:必须是库名.dbo.表名的格式,如pb2k.dbo.basictab,不加库名的话会出错!!!

----说明:还可以导出文本文件等多种格式

 

----导出一个表的部分列或部分行

--EXEC master..xp_cmdshell 'bcp "SELECT studentid, studentname from zhaostu.dbo.diff" queryout c:\temp1.xls -c -q -S"PC-200906290836\SQLEXPRESS" -U"sa" -P"1234"'

 

-----关闭xp_cmdshell ----

-- 允许配置高级选项

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

-- 禁用xp_cmdshell

EXEC sp_configure 'xp_cmdshell', 0

RECONFIGURE

  评论这张
 
阅读(111)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016