sql server数据库转成excel表格文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

将sql server数据库中的一个表 转成一个excel表格文件。
需要:
(1) 需要列名(必要)
(2) 需要挑选按需求显示字段:
(3) 最好可以显示出来报表
(4) 在SQL SERVER里往Excel插入数据:
这个语句很好,但上面的问题中引发的问题,有的不知怎么解决:
(1)列名想重命名成中文要怎样修改呢?
(2)如果想删除excel表格文件或者修改excel 表格文件要怎么写语句呢?

SQL code--參考下
CREATE proc out2xls
@服务器名 varchar(255),
@库名 varchar(255),
@表名 varchar(255),
@用户名 varchar(100),
@密码 varchar(100),
@路径及文件名 varchar(255)
as
declare @temp1 nvarchar(4000),@temp2 varchar(8000)

set @temp1='select @value1='''',@value2='''' select @value1=@value1+'',''''''++''''+char(39)+'' [''++'']'',@value2=@value2+'',cast(''+''[''++'']''+ '' as varchar(200))'' from '+@库名+'..syscolumns a,'+@库名+'..sysobjects d where a.id=d.id and ='''+@表名+''''+' order by a.colorder'


exec sp_executesql @temp1,N'@value1 nvarchar(4000) output , @value2 varchar(8000) output',@temp1 output,@temp2 output

select @temp1=right(@temp1,len(@temp1)-1),@temp2=right(@temp2,len(@temp2)-1)

exec('select * into '+@库名+'.dbo.中间表 from (select '+ @temp1+' union all SELECT '+@temp2+' FROM '+@库名+'..'+@表名+') tem3')


set @temp2='bcp '+@库名+'.dbo.中间表 out '+@路径及文件名+' -c -S'+@服务器名+' -U'+@用户名+' -P'+@密码

EXEC master..xp_cmdshell @temp2
exec('drop table '+@库名+'.dbo.中间表')
GO
exec out2xls 'daliserver','pubs','jobs','sa','element','c:\a.txt'
go
drop proc out2xls

相关文档
最新文档