收藏 分享(赏)

将sqlserver结果导出为excel文件.doc

上传人:无敌 文档编号:1199608 上传时间:2018-06-18 格式:DOC 页数:2 大小:15.50KB
下载 相关 举报
将sqlserver结果导出为excel文件.doc_第1页
第1页 / 共2页
将sqlserver结果导出为excel文件.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 将 SQLServer 结果导出为 excel 文件相信大家常常会遇到将 SqlServer 查询结果导出到 Excel 的问题。如果导出的次数少,直接“Save Results As”就是了; 但是当要分别在每个表取样,那就相当麻烦了。今天就为大家提供一个脱离 office 组件的可以将语句结果导出到 Excel 的过程,希望会对大家有帮助 !-导出到 Excel-使用说明:- 1.执行时所连接的服务器决定文件存放在哪个服务器- 2.远程查询语句中,要加上数据库名ALTER PROC ExportFileQuerySql VARCHAR(max),Server VARCHAR(20),Us

2、er VARCHAR(20),Password VARCHAR(20),FilePath NVARCHAR(100) = c:ExportFile.xlsASDECLARE tmp VARCHAR(50) = #Table + CONVERT(VARCHAR(36),NEWID()+BEGIN TRYDECLARE Sql VARCHAR(max),DataSource VARCHAR(max)=;-判断是否为远程服务器IF Server . AND Server 127.0.0.1SET DataSource = OPENDATASOURCE(SQLOLEDB,Data -将结果集导出到指定

3、的数据库SET Sql = REPLACE(QuerySql, from , into + from + DataSource)PRINT SqlEXEC(Sql)DECLARE Columns VARCHAR(max) = ,Data NVARCHAR(max)=SELECT Columns = Columns + , + name +-获取列名 (xp_cmdshell 导出文件没有列名),Data = Data + ,Convert(Nvarchar, + name +)-将结果集所在的字段更新为 nvarchar(避免在列名和数据 union 的时候类型冲突 )FROM tempdb.

4、sys.columns WHERE object_id = OBJECT_ID()SELECT Data = SELECT + SUBSTRING(Data,2,LEN(Data) + FROM + tmpSELECT Columns = Select + SUBSTRING(Columns,2,LEN(Columns)-使用 xp_cmdshell 的 bcp 命令将数据导出EXEC sp_configure xp_cmdshell,1RECONFIGUREDECLARE cmd NVARCHAR(4000) = bcp “ + Columns+ Union All + Data+“ queryout + FilePath + -c -TPRINT cmdexec sys.xp_cmdshell cmdEXEC sp_configure xp_cmdshell,0RECONFIGUREEXEC(DROP TABLE + tmp)END TRYBEGIN CATCH-处理异常IF OBJECT_ID() IS NOT NULLEXEC(DROP TABLE + tmp)EXEC sp_configure xp_cmdshell,0RECONFIGURESELECT ERROR_MESSAGE()END CATCH

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报