使用 OPENROWSET 将 SQL Server 导出到 Excel
我使用以下语句成功导出到 Excel:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\template.xls;',
'SELECT * FROM [SheetName$]')
select * from myTable
是否有任何标准方法来使用此模板为 Excel 工作表指定新名称,以便模板永远不会被写入,或者我是否必须想出一些解决方法?
在人们的体验中做到这一点的最佳方法是什么?
I am successfully exporting to excel with the following statement:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\template.xls;',
'SELECT * FROM [SheetName$]')
select * from myTable
Is there any standard way to use this template specifying a new name for the excel sheet so that the template never gets written to or do I have to come up with some work-around?
What's the best way to do this in people experience?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您必须使用动态 SQL。
OPENROWSET
等仅允许文字作为参数。You'd have to use dynamic SQL.
OPENROWSET
etc only allows literals as parameters.您不能先复制模板,然后将副本的文件名传递到 OPENROWSET 中吗?
Couldn't you make a copy of your template first, then pass the copy's filename into OPENROWSET?
您可以在一个位置使用模板,在另一位置使用数据文件。
当您运行该脚本时,它将删除旧文件并生成一个新的数据文件。
You can use a template in one location and the data file in other location.
When you run the script , it will delete the old file and generates a new data file.