我进行了深入搜索,似乎找不到答案。
我想将 SQL 查询导出到 Excel 并将其(excel)返回到客户端应用程序或我的 Web 服务。 (考虑类似 FOR XML
的概念,而是返回二进制 Excel 数据)
我测试了这个(经过长时间的努力),它终于可以正常工作了:
INSERT INTO OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0;Database=D:\1.xls;',
'SELECT * FROM [Sheet1$]')
SELECT TOP 5 ID, ItemName FROM dbo.MyItems
并将其返回给客户:
SELECT * FROM OPENROWSET(BULK N'D:\1.xls', SINGLE_BLOB) rs
但是,文件
D:\1.xls
必须存在 已经进阶了。我已经阅读了这个公认的答案:T-SQL: Export to new Excel file
4 If you dont want to create an EXCEL file in advance and want to export data to it, use
EXEC sp_makewebtask
sp_makewebtask
已弃用。有没有办法在没有现有文件的情况下完成这项任务?或者至少在导出之前动态创建一个合适的文件?甚至更好:根本不使用任何文件?
谢谢。
最佳答案
也许你可以在打电话之前尝试做这样的事情:
xp_cmdshell "echo . > D:\1.xls"
关于sql-server - 如何将 SQL 查询导出到 Excel 文件尚不存在的 Excel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44825993/