sql sqlserver导出excel怎么快速导出查询到的数据

将SQL SERVER中查询到的数据导成一个Excel文件-- ======================================================T-SQL代码:EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:/Temp.xls -c -q -S"servername" -U"sa" -P""'参数:S 是SQL服务器名;U是用户;P是密码说明:还可以导出文本文件等多种格式实例:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:/temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:/ authors.xls -c -Sservername -Usa -Ppassword'在VB6中应用ADO导出EXCEL文件代码: Dim cn& As New ADODB.Connectioncn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMUID=WD=123;"cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 库名.dbo.表名" queryout E:/DT.xls -c -Sservername -Usa -Ppassword'"------------------------------------------------------------------------------------------------
注:得在sql server外围配置器里打开 xp_cmdshell 许可。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:24112次
排名:千里之外
原创:14篇
评论:12条
(3)(7)(1)(5)(1)(1)查看:9329|回复:14
中级工程师
EXEC master..xp_cmdshell 'bcp &SELECT * FROM [CHCW].[dbo].[发票记录]& queryout E:\est.xls -c -S&TJ& -U&sa& -P&2012&'
能够导出表格,但没有字段名,很头痛!
中级工程师
我查了半天:找到个办法。
1、将查询结果存储到一个临时表。
2、将所有的字段转换成字符形式。
3、将字段名作为第一行记录,再 Union all 所有行的数据。
最后输出。
不过,这个转换过程我不知道如何写? 求指点!
或者还有其他办法??
本帖最后由 lifox 于
09:08 编辑
BCP中的导出语句,参考:
select col1 = 'colname1' , col2 = 'colname2' ... , coln = 'colnamen' from tb
select col1 , col2 ... coln from tb
SQL Server DBA
中级工程师
引用:原帖由 joe321 于
11:21 发表
BCP中的导出语句,参考:
select col1 = 'colname1' , col2 = 'colname2' ... , coln = 'colnamen' from tb
select col1 , col2 ... coln from tb 请教如何用循环,提取表的字段名??
有这个才好生成动态SQL语句,适应各种不同的表。
小微企业IT帮
提取表的字段名,请参见:
declare @sql nvarchar(4000)
select @sql=isnull(@sql+\',\',\'\')+quotename(Name)
from syscolumns
where ID=object_id('tb')
order by Colid
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
参考楼上给的脚本。
你有多个表的数据需要全表导出的话,还不如用sql server自带导入/导出工具,然后保存为SSIS包,要导的时候双击一下或者作业调用。
SQL Server DBA
中级工程师
非常感谢两位的帮助!!
sqlcmd 运行查询会带标题栏的, 用-o 导出为文件即可。
命令行: sqlcmd -E -Q &select * from sys.objects& -o D:\test_data\sysobjects.csv
SQL: exec xp_cmdshell 'sqlcmd -E -Q &select * from sys.objects& -o D:\test_data\sysobjects.csv'
SQL Server MCITP, MVP, MCT, DBA
sqlcmd带,bcp不带。
SQL Server DBA
优秀技术总监
如果脚本写不好的话,也可以用界面,直接把脚本结果集输出来,选择带连同标题一起复制结果就会有字段列名。
试一下图形界面吧
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
平时我就用自带的导入导出工具导出数据,简单又实用
Lync Server 、Skype for Business Server 2015
在安逸的环境中,一个人很难敏锐地思考。智慧是由站在断崖边缘并挣扎着求生存的人身上挤出来的
微信公众号:lync_uc
平时我都用图形界面,然后“连同标题一起复制”,再粘贴到Excel,也很轻松
(143.65 KB)
MCITP/MCSE/MCT/MVP&&SQL Server
那些年,我们一起追过的MS SQL Server
http://jimshu.
小微企业IT帮
copy with header
SQL Server 2008 MCITP | SQL Server 2012 MCSE | SQL Server MVP | MySQL 5.6 OCP | Oracle 11g OCP
都是牛逼人物啊学习了<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&如何导入和导出SQL里面的数据?数据库里的数据如何导出,导出为何 - 爱问知识人
(window.slotbydup=window.slotbydup || []).push({
id: '2491531',
container: s,
size: '150,90',
display: 'inlay-fix'
如何导入和导出SQL里面的数据?
里的数据如何导出,导出为何种格式,我准备再装系统后再导入!这个过程是如何的?
导出导入SQL Server里某个数据库
1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务-&备份数据库。
2.备份 选数据库-完全,目的 备份到 按添加按钮
文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)
重写 选重写现有媒体
最后按确定按钮。
如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。
3.通过FTP或者remote desktop或者pcanywhere等方法
把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;
然后选中这个新创建的数据库,按鼠标右键,选所有任务-&还原数据库
还原-&从设备-&选择设备-&磁盘-&添加(找到要导入的备份数据库文件名)-&确定
还原备份集-&数据库-完全
最后按确定按钮。完全的数据库导入成功了。
(如果在已经存在的SQL Se
导出导入SQL Server里某个数据库
1.在SQL Server企业管理器里选中要转移的数据库,按鼠标右键,选所有任务-&备份数据库。
2.备份 选数据库-完全,目的 备份到 按添加按钮
文件名 在SQL Server服务器硬盘下输入一个自定义的备份数据库文件名(后缀一般是bak)
重写 选重写现有媒体
最后按确定按钮。
如果生成的备份数据库文件大于1M,要用压缩工具压缩后再到Internet上传输。
3.通过FTP或者remote desktop或者pcanywhere等方法
把第二步生成的备份数据库文件或者其压缩后的文件传到目的SQL Server数据库,如果有压缩要解压。
4.目的SQL Server数据库如果还没有此数据库,先创建一个新的数据库;
然后选中这个新创建的数据库,按鼠标右键,选所有任务-&还原数据库
还原-&从设备-&选择设备-&磁盘-&添加(找到要导入的备份数据库文件名)-&确定
还原备份集-&数据库-完全
最后按确定按钮。完全的数据库导入成功了。
(如果在已经存在的SQL Server数据库上还原数据库可能遇到有还有其它人正在使用它而恢复****做失败,
可以去看 -&管理-&当前活动-&锁/对象-&找到数据库下锁的进程号-&到查询分析器里用kill 进程号杀掉这些锁,然后再做还原)
注意:如果在原有的目的SQL
Server数据库上从备份文件(*.bak)还原数据库会把已经存在的表、存储过程等数据库对象全部替换成最近这次导入的备份数据库里的内容。
如果一定要还原备份文件(*.bak)里部分数据,需要另外建一个新数据库,其逻辑名称和数量同备份文件(*.bak)里数据库的逻辑名称和数量一致;
新数据库的物理文件名称取得一定要和备份文件(*.bak)里数据库的物理文件不一样才行。
在企业管理器中,右键单击数据库,在所有任务中选择还原数据库,
在选项中,选择“从设备”,选择设备,添加,文件名,找到你备份的文件,就是那个bak文件
如果备份的数据库数据文件的地址和被还原的数据库的数据文件的地址不一致,要修改成被还原数据库的文件地址
Good Luck!
您的举报已经提交成功,我们将尽快处理,谢谢!
你可以下载360密盘,这个密盘是由全国安全软件第一名的360公司研发的。打开360密盘就需要密码,如果不是密码因为过于简单而被别人猜中,否则通过电脑技术打开36...
大家还关注

我要回帖

更多关于 sqlserver导出数据库 的文章

 

随机推荐