网站大量收购独家精品文档,联系QQ:2885784924

sql2008到如到excel.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sql2008到如到excel

SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引 今天在项目中遇到一个问题,需要从SQL Server导出表到Excel,但需要带列名。尝试了几种方法,并小结如下: USE testDb2 GO IF NOT OBJECT_ID(Demo_A) IS NULL DROP TABLE [Demo_A] /****** Object: Table [dbo].[Demo_A] downmoon:3w@ ******/ CREATE TABLE [dbo].[Demo_A]( [ID] int not null, [Name] [Nvarchar](20) NOT NULL ) GO INSERT [dbo].[Demo_A] SELECT 1,郭靖 union ALL SELECT 2,胡一刀 union ALL SELECT 3,令狐冲 GO 如果通常的思路,我们可以用BCP,命令如下: -- To allow advanced options to be changed. EXEC sp_configure show advanced options, 1 GO -- To update the currently configured value for advanced options. RECONFIGURE GO -- To enable the feature. EXEC sp_configure xp_cmdshell, 1 GO -- To update the currently configured value for this feature. RECONFIGURE GO EXEC master..xp_cmdshell bcp Testdb2.dbo.Demo_A out c:\Temp.xls -c -q -Sap4\Net2012 -Usa -PsA 这样得到的xls文件中,Sheet是不带列名的。但可以改进一下,得到如下命令(参考:/forums/en-US/sqlgetstarted/thread/812b8eec-5b77-42a2-bd23-965558ece5b9/): 方法一:使用BCP 为了方便,我创建了一个存储过程: /****** SQL Export to xls ***************/ /* Example */ /*CPP_Export_To_Excel_With_Header Testdb2,Demo_A,C:\TestExxelWithHeader.xls*/ /* 2012.5.4 BY tony,邀月, 3w@ */ CPP_Export_To_Excel_With_Header Testdb2,Demo_A,C:\TestExcelWithHeader.xls Create Procedure CPP_Export_To_Excel_With_Header ( @db_name varchar(255), @table_name varchar(255), @file_path varchar(255) ) as Generate column names as a recordset declare @columns varchar(8000), @sql varchar(8000) declare @HeadersOnlyFile varchar(255),@TableDataWithoutHeaders varchar(255) set @HeadersOnlyFile=replace(cast(newid() as VARCHAR(40)),-,)+1.xls set @TableDataWithoutHeaders=replace(cast(newid() as VARCHAR(40)),-,)+2.xls select @columns=coalesce(@columns+,,)+column_name+ as +column_name from information_schema.columns where table_name=@table_name select @columns=+replace(replace(@columns, as , as ),,,,) print @columns Generate column names file set @sql=exec master..xp_cmdshell bcp select * from (select +@columns+) as t queryout +@HeadersOnlyFile+ -c print @sql exec(@sql

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档