- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 6英寸晶闸管的研究开发与特性控制.pdf
- 草根站长这一年用血的教训换来的SEO终极算法.pdf
- 英语小组作业.ppt
- TAINET 新世代骨干网路连接解决方案.ppt
- 关注土耳其的卖家注意:这里当地五大电商平台.pdf
- 韩顺平html和PHP笔记.doc
- 90%的留学生海归求职面试者因为没注意这9点丢掉offer!.pdf
- SQL Server 2008 分区表实例.docx
- php 5.3.8版本,针对sql server 2008的注释编辑查看工具程序.docx
- 融资榜周报:闪电购抱了阿里这条“大腿”.pdf
- 岸基供电系统 第4部分:工频电源.pdf
- 人教版八下英语Unit 5 What were you doing when the rainstorm came_测试卷.docx
- 热带作物品种区域试验技术规程 木薯.pdf
- 草原防火阻隔带建设技术规程.pdf
- 渔用气胀救生筏技术要求和试验方法-.pdf
- 浙江省杭州市2024-2025学年八年级下学期期中考试英语试卷(含答案).docx
- 重庆市渝北区六校联盟2024-2025学年九年级下学期期中教学大练兵语文试卷.docx
- 食品安全-花椒籽油 (2).pdf
- 2025年海博思创分析报告:储能集成“小巨人”,国内外业务进展可期.pdf
- 地理标志产品 宽城板栗.pdf
文档评论(0)