Excel中的表从SQL Server存储过程与工作簿中的参数字段

时间:2012-10-02 16:01:54

标签: sql sql-server-2008 excel stored-procedures excel-2010

我需要使用Excel 2010和SQL Server创建动态报告。与以前的其他人创建的一样,我想出了如何创建数据连接并在连接属性定义选项卡中将存储过程与特定参数一起使用。其他报告在命令定义中使用?,并使用工作簿中的单元格来定义参数。

我该怎么做?

创建连接/报告/参数选择的具体步骤或任何非常感谢的帮助。

1 个答案:

答案 0 :(得分:26)

我使用以下链接博客文章中提供的步骤开始工作。

http://codebyjoshua.blogspot.com/2012/01/get-data-from-sql-server-stored.html

此处复制的步骤以防将来链接中断。

Excel 2007说明:

  1. 在Excel的功能区上选择“数据”选项卡,然后在“获取外部数据”组中选择“从其他来源”下拉列表。然后选择“来自Microsoft Query”

  2. 在“选择数据源”弹出框中,选择您的SQL Server,然后单击“确定”。

  3. 如有必要,请关闭“添加表格”弹出窗口。

  4. 点击“SQL”按钮,或选择查看> SQL打开SQL弹出编辑器。

  5. 输入以下语法:{CALL myDatabaseName.dbo.myStoredProc(?,?,?)}

    例如:{CALL northwind.dbo.spGetMaxCost(?,?,?)}

    请务必在call语句周围添加波浪形大括号。每个问号(?)表示一个参数。如果存储过程需要更多或更少的参数,请根据需要添加或减少问号。

  6. 点击“确定”按钮。应弹出一个问题框,说“无法以图形方式表示SQL查询,还是继续?”,只需点击“确定”按钮即可。

  7. 现在将要求您提供上面包含的每个问号的示例参数。输入要查询的数据的有效参数值。

  8. 输入完最后一个参数后,您应该在Microsoft Query中获得一些结果。如果它们看起来不错,请关闭Microsoft Query。

  9. 您现在应该查看“导入数据”弹出窗口。单击“属性”按钮,将弹出“连接属性”弹出窗口。

  10. 选择“定义”选项卡,然后选择“参数”按钮。您现在应该看到一个“参数”弹出窗口,您可以在其中将参数连接到特定单元格。

  11. 选择从以下单元格中获取值,然后通过单击带箭头的小方框连接到Excel中将保存参数的相应单元格。

  12. 如果您希望每次更改包含参数的单元格时刷新数据,请选中“单元格值更改时自动刷新”框,

  13. 继续上述其他参数。完成后,单击“确定”,返回“连接属性”弹出窗口。单击OK返回Import Data弹出窗口,然后再次单击OK。

  14. 您现在应该直接从存储过程中获取一些数据。