日期:2014-05-18  浏览次数:20527 次

SQL语句查询结果导出到EXCEL
由于现在要写一个算法,是一个存储过程,功能是将一个表的数据分批导出到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 ,文件名可以自定义,希望各位高手帮帮小弟,感激不尽。。。

------解决方案--------------------
试试这个,
SQL code

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