SQL语句查询结果导出到EXCEL

sc1986116 2012-04-23 03:56:21
由于现在要写一个算法,是一个存储过程,功能是将一个表的数据分批导出到EXCEL中:
比如:

IF I=1 将 SELECT * FROM table1 WHERE i=1 的结果生成一个EXCEL ,名字为‘1.xls’
IF I=2 将 SELECT * FROM table1 WHERE i=1 的结果生成一个EXCEL ,名字为‘2.xls’
IF I=3 将 SELECT * FROM table1 WHERE i=1 的结果生成一个EXCEL ,名字为‘3.xls’
IF I=4 将 SELECT * FROM table1 WHERE i=1 的结果生成一个EXCEL ,名字为‘4.xls’
.
.
.


简单的说就是将查询结果导出到EXCEL ,文件名可以自定义,希望各位高手帮帮小弟,感激不尽。。。
...全文
283 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
唐诗三百首 2012-04-25
  • 打赏
  • 举报
回复
试试这个,

create proc scsp
(@i int)
as
begin
set nocount on
declare @sql varchar(6000)
select @sql='exec master..xp_cmdshell ''bcp "select cast([字段] as varchar(50))+' ' [字段名] from table1 where i='+cast(@i as varchar(5))
+' " queryout [导出路径]\'+cast(@i as varchar(5))+'.xls -c -q -S "[服务器名]" -U "[帐号]" -P "[密码]" -T '' '
exec(@sql)
end

sc1986116 2012-04-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code

create proc scsp
(@i int)
as
begin
set nocount on
declare @sql varchar(6000)
select @sql='exec master..xp_cmdshell ''bcp "select * from table1 where i='+cast(@i as varchar(5))
……
[/Quote]
谢谢哥们了,我用你这个语句可以自定义文件名了,可是还有个问题麻烦一下你,我的表里有字符型的数据比如”112332432” 虽然全是数字但是字符型的(物料编码)。可是这列导出到EXCEL之后变成了科学计数法“323212+12E”,不知道有没有好的方式

唐诗三百首 2012-04-23
  • 打赏
  • 举报
回复

create proc scsp
(@i int)
as
begin
set nocount on
declare @sql varchar(6000)
select @sql='exec master..xp_cmdshell ''bcp "select * from table1 where i='+cast(@i as varchar(5))
+' " queryout [导出路径]\'+cast(@i as varchar(5))+'.xls -c -q -S "[服务器名]" -U "[帐号]" -P "[密码]" -T '' '
exec(@sql)
end
Mr_Nice 2012-04-23
  • 打赏
  • 举报
回复

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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