SQL Server使用OPENROWSET导出到Excel

Joh*_*dol 4 sql sql-server excel export-to-excel openrowset

我使用以下语句成功导出到excel:

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=C:\template.xls;', 
'SELECT * FROM [SheetName$]') 
select * from myTable
Run Code Online (Sandbox Code Playgroud)

是否有任何标准方法可以使用此模板为Excel工作表指定新名称,以便模板永远不会被写入或者我是否需要进行一些解决方法?

在人们的经历中,最好的方法是什么?

gbn*_*gbn 7

您必须使用动态SQL.OPENROWSETetc只允许文字作为参数.

DECLARE @myfile varchar(800)

SET @myfile = 'C:\template.xls'

EXEC ('
insert into OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', 
''Excel 8.0;Database=' + @myfile + ';'', 
''SELECT * FROM [SheetName$]'') 
select * from myTable
')
Run Code Online (Sandbox Code Playgroud)

请记住:路径与SQL Server运行的位置有关