SQL server 向EXCEL导数据,如何将列名也导出?

zeliangzhang19801124 2009-12-29 03:12:42
执行这样的语句:
EXEC master..xp_cmdshell 'bcp CATI.dbo.区号表 out c:\Temp.xls -c -q -S"127.0.0.1" -U"sa" -P""'
没有列名,如何将列名也导出。
...全文
1032 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryanbingo 2010-08-10
  • 打赏
  • 举报
回复
没看懂.....继续看
ShenLiang2025 2010-03-03
  • 打赏
  • 举报
回复
Hi,

Another Way:




0)表T1结构
a int
b int
x char

1)开启Web Assistant Procedures

exec sp_configure 'show advanced options', 1
RECONFIGURE
exec sp_configure 'Web Assistant Procedures', 1
RECONFIGURE

2)执行如下语句

EXEC sp_makewebtask
@outputfile = 'd:\testing.xls',
@query = 'Select TOP 10 * from shenliang1985..T1',
@colheaders =1,
@FixedFont=0,@lastupdated=0,@resultstitle='Querying details'

3)查看生成的EXCEl的

Querying details



Last updated: 2010-03-03 01:02:59.263

a b x
0 0 0
2 5 1
4 10 2
6 15 3
8 20 4
10 25 5
12 30 6
14 35 7
16 40 8
18 45 9

pan_junbiao 2010-02-22
  • 打赏
  • 举报
回复
路过,学习学习!!!!
shuifengcun 2010-02-22
  • 打赏
  • 举报
回复
学习学习学习学习学习学习
Sweet-Tang 2010-02-22
  • 打赏
  • 举报
回复
可以直接用sql的导入导出做
这个最方便
ShenLiang2025 2010-02-21
  • 打赏
  • 举报
回复
Hi,




0)初始表和数据
SELECT * FROM tb22
--结果
001 A
002 B
003 C

1)创建存储过程p_getColumns_inRow
CREATE PROCEDURE p_getColumns_inRow @tabname VARCHAR(MAX)
AS
BEGIN
DECLARE @sql VARCHAR(MAX)
SELECT @sql= ISNULL(@SQL+',','')+'['+CAST(COLID AS VARCHAR(MAX))+']'
FROM SYSCOLUMNS
WHERE ID = OBJECT_ID(@tabname) GROUP BY COLID
DECLARE @STRING VARCHAR(MAX)
SET @STRING='SELECT * FROM (SELECT NAME,COLID FROM SYSCOLUMNS WHERE ID=OBJECT_ID('''+@tabname+'''))A pivot (MAX(NAME) for COLID in('+@sql+'))t'
EXEC(@STRING)
END

2)启用Ad Hoc Distributed Queries
EXEC sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

3)取出行列转换后的表tb22的字段到表#testingHow
select *
INTO #testingHow
from OPENROWSET('SQLOLEDB',
'SERVER=PC-20100109AKXW\SHENL;uid=sa;pwd=1qaz2wsx!@12;Database=TestShen','SET FMTONLY OFF;SET NOCOUNT ON exec p_getColumns_inRow ''tb22''')
as a


4)将结果合并成含有字段名和字段值的表tb22_Merger中
SELECT * INTO tb22_Merger
FROM #testingHow
UNION ALL
SELECT * FROM tb22

5)整合
SELECT * FROM tb22_Merge

--结果
costNo costName
001 A
002 B
003 C

6)测试
6.1)CMD模式

bcp TestShen.dbo.tb22_Merger out c:\Temp.xls -c -q -S PC-20100109AKXW\SHENL -U sa -P 1qaz2wsx!@12

6.2)xp_cmdshell模式

--如果没有启用xp_cmdshell,先启动之
sp_configure 'show advanced options', 1
GO
RECONFIGURE
GO
sp_configure 'xp_cmdshell', 1
GO
RECONFIGURE
GO

--xp_cmdshell模式
EXEC master..xp_cmdshell 'bcp TestShen.dbo.tb22_Merger out c:\Temp.xls -c -q -S PC-20100109AKXW\SHENL -U sa -P 1qaz2wsx!@12'

7)删除表tb22_Merger
DROP TABLE tb22_Merger


ShenLiang2025 2010-02-21
  • 打赏
  • 举报
回复
Hi,

Tasks → Export Data
dragoo1 2010-02-05
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!
曾经的拥有 2010-01-17
  • 打赏
  • 举报
回复
过来学习一下
  • 打赏
  • 举报
回复
自己顶一下。
claro 2010-01-03
  • 打赏
  • 举报
回复
如果是查询结果自动保存文档,不用看。
如果是复制结果 ,看文档
http://blog.csdn.net/claro/archive/2008/11/13/3292508.aspx
  • 打赏
  • 举报
回复
自己顶一下。
  • 打赏
  • 举报
回复
对我来说不太实用。
  • 打赏
  • 举报
回复
1楼的有下列错误:
服务器: 消息 156,级别 15,状态 1,行 2
在关键字 'IF' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 6
第 6 行: 'GO' 附近有语法错误。
服务器: 消息 111,级别 15,状态 1,行 6
'CREATE PROCEDURE' 必须是批查询中的第一条语句。
服务器: 消息 137,级别 15,状态 1,行 10
必须声明变量 '@fname'。
服务器: 消息 137,级别 15,状态 1,行 11
必须声明变量 '@fname'。
服务器: 消息 137,级别 15,状态 1,行 11
必须声明变量 '@sheetname'。
服务器: 消息 137,级别 15,状态 1,行 12
必须声明变量 '@fname'。
服务器: 消息 137,级别 15,状态 1,行 12
必须声明变量 '@path'。
服务器: 消息 137,级别 15,状态 1,行 13
必须声明变量 '@path'。
服务器: 消息 137,级别 15,状态 1,行 14
必须声明变量 '@path'。
服务器: 消息 137,级别 15,状态 1,行 17
必须声明变量 '@path'。
服务器: 消息 137,级别 15,状态 1,行 28
必须声明变量 '@sqlstr'。
服务器: 消息 137,级别 15,状态 1,行 45
必须声明变量 '@sheetname'。
服务器: 消息 137,级别 15,状态 1,行 51
必须声明变量 '@path'。
服务器: 消息 170,级别 15,状态 1,行 54
第 54 行: ':' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 54
第 54 行: 'lbexit' 附近有语法错误。
Mr_Nice 2009-12-31
  • 打赏
  • 举报
回复
路过,学习!
w_xxxbbb 2009-12-31
  • 打赏
  • 举报
回复
学习。
dawugui 2009-12-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zeliangzhang19801124 的回复:]
自己顶一下。
[/Quote]
目前邹老大的那个存储过程可用.
  • 打赏
  • 举报
回复
bcp 即可
  • 打赏
  • 举报
回复
自己顶一下。
wzy_love_sly 2009-12-29
  • 打赏
  • 举报
回复
老问题,不行就用union all吧,bcp用语句的写法
select '列名1' as a,'列名2' as b
union all
select a,b from 表
加载更多回复(2)
SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.7M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 本软件所有功能完全免费。非常大家的支持!!! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL后台完成。可选中语句EXCEL内容! (四) 自带远程桌面控制功能 (五) 自定义保存二进制数据内容成文件 (六) 查询结果可直接显示字段类型等信息 本版本调整了: 1. 启动程序更快 2. 加入远程桌面远程控制功能 3. 加入格式化JSON功能 4. 加入查询结果二进制内容批量成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接查询结果到EXCEL 一、主功能概述 1.F8,F9 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2....可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容EXCEL,高级结果可快速。后台处理不会卡程序。在大量的数据时可以操作其他操作。软件在完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL数据库。可以把对应的EXCEL入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 5.格式化JSON格式内容 联系方式:75934092@qq.com或可直接加QQ:75934092 510567321
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.7M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL后台完成。可选中语句EXCEL内容! (四) 自带远程桌面控制功能 (五) 自定义保存二进制数据内容成文件 (六) 查询结果可直接显示字段类型等信息 V2.0.0.0 本版本调整了: 1. 启动程序更快 2. 加入远程桌面远程控制功能 3. 加入格式化JSON功能 4. 加入查询结果二进制内容批量成文件 5. 查询显示中可显示对应的字段类型及长度等信息 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接查询结果到EXCEL 一、主功能概述 1.F8,F9 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2....可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容EXCEL,高级结果可快速。后台处理不会卡程序。在大量的数据时可以操作其他操作。软件在完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL数据库。可以把对应的EXCEL入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 5.格式化JSON格式内容 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com或可直接加QQ:75934092 510567321

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧