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

d45*_*456 13 sql excel stored-procedures sql-server-2008 excel-2010

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

我该怎么做?

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

d45*_*456 27

我使用以下链接博客文章中提供的步骤使其工作.

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. 点击OK按钮.应弹出一个问题框,说"无法以图形方式表示SQL查询,还是继续?",只需点击"确定"按钮即可.

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

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

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

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

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

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

  13. 继续如上所述其他参数.完成后,单击"确定",返回"连接属性"弹出窗口.单击"确定"返回"导入数据"弹出窗口,然后再次单击"确定".

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