我正在使用 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 有多种方法
这是我最喜欢的一个约书亚的代码 http://codebyjoshua.blogspot.co.uk/2012/01/get-data-from-sql-server-stored.html(您不必使用参数):
选择 Excel 功能区上的“数据”选项卡,然后在“获取外部数据”组中选择“从其他来源”下拉列表。然后选择“来自 Microsoft Query”
在“选择数据源”弹出框中,选择您的 SQL Server,然后单击“确定”。
如有必要,关闭“添加表”弹出窗口。
单击“SQL”按钮,或选择“视图”>“SQL”以打开 SQL 弹出编辑器。
-
输入以下语法:{CALL myDatabaseName.dbo.myStoredProc (?, ?, ?)}
例如:{CALL Northwind.dbo.spGetMaxCost (?, ?, ?)}
请务必在调用语句周围包含波形大括号。每个问号(?)表示一个参数。如果您的存储过程需要更多或更少的参数,请根据需要添加或减去问号。
点击确定按钮。应弹出一个问题框,显示“SQL 查询无法以图形方式表示,仍要继续吗?”,只需单击“确定”按钮即可。
现在,系统将要求您提供上面包含的每个问号的示例参数。输入您正在查询的数据的有效参数值。
输入最后一个参数后,您应该会在 Microsoft Query 中得到一些结果。如果它们看起来不错,请关闭 Microsoft Query。
您现在应该看到“导入数据”弹出窗口。单击“属性”按钮,将弹出“连接属性”窗口。
选择“定义”选项卡,然后选择“参数”按钮。您现在应该会看到一个“参数”弹出窗口,您可以在其中将参数连接到特定单元格。
选择从以下单元格获取值,然后通过单击带有箭头的小框连接到 Excel 中将保存参数的相应单元格。
如果您希望每次更改包含参数的单元格时刷新数据,请选中“单元格值更改时自动刷新”框
对于其他参数,继续如上所述。完成后,单击“确定”,返回“连接属性”弹出窗口。单击“确定”返回“导入数据”弹出窗口,然后再次单击“确定”。
您现在应该直接从存储过程中获得一些数据。
您最终将得到类似于以下内容的连接信息:
连接信息
而且,如果您使用工作表中的参数,则以我为例,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)