我正在使用SSMS,并尝试将存储过程的结果导出到新的Excel文件中。SP接受一个int参数,但是我找不到在查询中调用它的方法。
最新努力-
EXEC sp_makewebtask
@outputfile = 'C:\Users\me\Documents\testing.xls',
@query = **ExportAsExcel** N'@id' = 123
@colheaders =1,
@FixedFont=0,@lastupdated=0,@resultstitle='Testing details'
运行存储过程将产生两个数据表,这些数据需要在单独的工作表上使用。你们中的任何人都可以建议一种更好的方法吗?它甚至不需要自动化,我只需要获取正确的数据即可。sp名称在上面加粗了。
谢谢你的时间,
H
我建议您将存储过程分为两个过程,每个过程分别返回一个单独的表,并将它们调用到不同的工作表中。
有多种使用SQL将数据返回到Excel的方法
这是Joshua编写的代码中我最喜欢的代码(您不必使用参数):
选择Excel功能区上的“数据”选项卡,然后在“获取外部数据”组中,选择“来自其他来源”下拉菜单。然后选择“来自Microsoft查询”
在“选择数据源”弹出框中,选择您的SQL Server,然后单击“确定”。
如有必要,关闭“添加表”弹出窗口。
单击“ SQL”按钮,或选择“视图”>“ SQL”以打开SQL弹出编辑器。
输入以下语法:{CALL myDatabaseName.dbo.myStoredProc(?,?,?)}
例如:{CALL northwind.dbo.spGetMaxCost(?,?,?)}
确保在调用语句周围包括弯曲的花括号。每个问号(?)表示一个参数。如果您的存储过程需要更多或更少的参数,请根据需要添加或减少问号。
点击确定按钮。只需单击确定按钮,就会弹出一个问题框,提示“ SQL Query无法以图形方式表示,是否继续?”。
现在,系统会要求您提供上述每个问号的示例参数。输入要查询的数据的有效参数值。
输入最后一个参数后,您应该在Microsoft Query中获得一些结果。如果它们看起来不错,请关闭Microsoft Query。
您现在应该看到一个“导入数据”弹出窗口。单击“属性”按钮,这将弹出“连接属性”弹出窗口。
选择“定义”选项卡,然后选择“参数”按钮。现在,您应该会看到一个“参数”弹出窗口,您可以在其中将参数连接到特定的单元格。
选择“从以下单元格获取值”,然后通过单击带有箭头的小框,将其连接到将保存您的参数的Excel中适当的单元格。
如果您希望每次更改包含参数的单元格时刷新数据,请选中“单元格值更改时自动刷新”框
如上继续其他参数。完成后,单击“确定”以返回到“连接属性”弹出窗口。单击“确定”返回到“导入数据”弹出窗口,然后再次单击“确定”。
现在,您应该直接从存储过程中获取一些数据。
您最终将获得类似于以下内容的连接信息:
连接信息
而且,如果您使用工作表中的参数,例如
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句