我使用以下语句成功导出到excel:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\template.xls;','SELECT * FROM [SheetName$]') select * from myTable
是否有任何标准方法可以使用此模板为excel表单指定一个新名称,以便模板永远不会被写入或者我是否需要进行一些解决方法?
在人们体验中这样做的最佳方法是什么?
解决方法
您必须使用动态sql. OPENROWSET等只允许文字作为参数.
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 ')
Remember: the path is relative to where sql Server is running