如何将我的T-SQL查询结果保存为Excel文件?

时间:2017-04-26 13:56:29

标签: sql-server excel tsql ftp export-to-excel

我正在使用SQL Server 2012.我需要创建一个FTP任务,它将获取一个Excel文件(或者如果需要它可以是一个csv文件)并每天将其上传到FTP站点。这里的基本思想是自动化整个过程,从创建Excel文件到将其上传到FTP站点。

该Excel文件的内容将是每天运行并覆盖现有查询的T-SQL查询的结果。我的想法是使用SQL Server代理Job来完成这一部分。但是,我很难弄清楚如何编写我的T-SQL代码,以便将结果输出到Excel文件中。

现在,FTP任务的创建并不是真正的问题,因为我认为我可以通过创建SSIS包来解决这个问题。

为简单起见,我们假设,我的SQl查询如下:

Select * 
From TravelAgency

我们还假设我想将该文件保存为'C:\ Test'文件夹中的'myfile.xlsx'。

可以在T-SQL查询中完成吗?

1 个答案:

答案 0 :(得分:0)

这里的例子(1251是俄语编码,你不需要它)

set @cmd ='bcp "' + @query + '" queryout "' + @SourceFileName + '" -T -c -C 1251' 
--print @cmd
exec @ret = master..xp_cmdshell @cmd
if @ret <> 0 throw 50000, 'shell error while saving file', 1