sql导出excel:sql server 带列名导出至excel来源: 发布时间:星期六, 2008年12月20日 浏览:2次 评论:0
="t18">--sql语句就用下面
![]() /*--数据导出EXCEL 导出查询中 ![]() ![]() ,如果文件不存在,将自动创建文件 ,如果表不存在,将自动创建表 基于通用性考虑,仅支持导出标准数据类型 --邹建 2003.10--*/ /*-- ![]() p_exporttb @sqlstr='select * from 地区资料' ,@path='c:\',@fname='aa.xls',@sheetname='地区资料' --*/ ![]() drop procedure [dbo].[p_exporttb] GO create proc p_exporttb @sqlstr sysname, --查询语句,如果查询语句中使用了order by ,请加上top 100 percent @path nvarchar(1000), --文件存放目录 @fname nvarchar(250), --文件名 @sheetname varchar(250)='' --要创建 ![]() as declare @err ![]() ![]() declare @obj ![]() --参数检测 ![]() ![]() ![]() ![]() --检查文件是否已经存在 ![]() ![]() create table #tb(a bit,b bit,c bit) ![]() insert ![]() --数据库创建语句 ![]() ![]() ![]() +';CREATE_DB="'+@sql+'";DBQ='+@sql ![]() ![]() +';DATABASE='+@sql+'"' --连接数据库 exec @err=sp_oacreate 'adodb.connection',@obj out ![]() exec @err=sp_oamethod @obj,'open',null,@constr ![]() --创建表 ![]() declare @tbname sysname ![]() ![]() ![]() ![]() ![]() exec(@sql) select @sql='',@fdlist='' select @fdlist=@fdlist+','+a.name ,@sql=@sql+',['+a.name+'] ' + ![]() 'text('+cast( ![]() ![]() when b.name in('tyny ![]() ![]() ![]() ![]() ![]() when b.name in('smalldatetime','datetime') then 'datetime' when b.name in('money','smallmoney') then 'money' ![]() FROM tempdb..syscolumns a left join tempdb..systypes b _disibledevent='drop table ['+@tbname+']' exec(@sql) ![]() lberr: exec sp_oageterrorinfo 0,@src out,@desc out lbexit: select cast(@err as varbinary(4)) as ![]() ,@src as ![]() ![]() select @sql,@constr,@fdlist 0
相关文章读者评论
发表评论 |