如何将查询结果直接提取到.XLSx文件

时间:2016-07-01 14:57:15

标签: sql-server

您能告诉我如何在SQL服务器中将查询结果提取到Excel工作表,

我的查询是批处理作业,所以我需要将所有查询结果保存在Excel工作表中,稍后我会做FTP。

请建议我在SQL Server中有什么办法。

注意: - 在Management Studio中不使用Result to File,我需要知道使用Sql中的任何脚本

1 个答案:

答案 0 :(得分:0)

试试这个, 首先启用Ad Hoc Distributed Queries

sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

将结果查询导出到Excel文件

DECLARE @STR_QUERY AS NVARCHAR(MAX) 
DECLARE @FILE_ATT_PATH NVARCHAR(50) ='D:\MYEXCEL'+REPLACE(CONVERT(VARCHAR,GETDATE(),113),':','')+'.XLS';

SET @STR_QUERY = 
N'INSERT INTO OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database='+ @FILE_ATT_PATH +';'',''SELECT CusSName FROM [Sheet1$]'')
SELECT CusSName FROM [dbo].[MasterCustomer]'

EXEC sp_executesql @STR_QUERY