- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
sqlserver带列名导出数据到excel的方法
今天在项目中遇到一个问题,需要从SQL Server导出表到Excel,但需要带列名。尝试了几种方法,并小结如下:假定表如下:[sql]?view plaincopyprint?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,命令如下:[sql]?view plaincopyprint?--?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]?view plaincopyprint?/******?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?mast
您可能关注的文档
- ppp财政承受能力论证.doc
- PPR管安装技术资料1.doc
- ppr给水管敷设技术交底_图文.doc
- PPS成型指南.ppt
- pratosartan研发设计方案书.doc
- PrideandPrejudice英语专业毕业论文之傲慢与偏见.doc
- Principles of Conformity Assessment for Medical Devices 医疗器械合格评定原则.docx
- Probationary Period Review Form试用期考核表.doc
- Processing入门教学草稿1-7章.doc
- Pron2单词辨音练习1.doc
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
文档评论(0)