14

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

我该怎么做呢?

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

4

1 回答 1

29

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

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 (?, ?, ?)}

    确保在调用语句周围包含波浪形的大括号。每个问号 (?) 表示一个参数。如果您的存储过程需要更多或更少的参数,请根据需要添加或减去问号。

  6. 点击确定按钮。应该会弹出一个问题框,上面写着“SQL 查询无法以图形方式表示,仍然继续吗?”,只需点击 OK 按钮。

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

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

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

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

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

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

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

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

于 2012-10-10T14:23:07.330 回答