【发布时间】:2018-01-03 08:48:03
【问题描述】:
我正在使用以下查询将 SQL 结果传输到现有 Excel 文件。是否可以将它们转移到新的 Excel 工作表中?使用 SSIS 我们可以做到这一点,但我想知道在 SSMS 中是否有任何可能。
SP_CONFIGURE 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
SP_CONFIGURE 'Database Mail XPs', 1
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
INSERT INTO OPENROWSET
('Microsoft.ACE.OLEDB.12.0',
'Excel 8.0;Database=E:\LessThan1300\OutofScope.xlsx;','select * from [Sheet1$]')
select * from tboutofscope
where InflowDate >= CONVERT(date,getdate())
【问题讨论】:
-
据我所知,您的查询很好。您在这里遇到任何错误吗?您的工作表在文件中是否名为 Sheet1?它是在 SQL 服务器的 E: 驱动器上还是您需要网络路径?您是否尝试使用查询创建新工作表?
-
如果我有一个现有的工作表,这个查询可以正常工作。我想对一个新的 excel 文件做同样的事情。
-
这是一份持续的 Excel 报告吗?您是否考虑过使用电源查询?
-
您希望先创建新的 xlsx 文件,或者您有一个 xlsx 文件并希望将数据放在新工作表上?
-
如果您需要一个新文件,您可以尝试使用 bcp。
标签: sql sql-server excel sql-server-2008 ssis