【问题标题】:Table in Excel from SQL Server stored procedure with parameter field in workbook来自 SQL Server 存储过程的 Excel 中的表,工作簿中带有参数字段
【发布时间】:2012-10-02 16:01:54
【问题描述】:

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

我该怎么做呢?

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

【问题讨论】:

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


    【解决方案1】:

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

    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 Query 无法以图形方式表示,是否继续?”,只需点击 OK 按钮即可。

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

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

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

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

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

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

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

    14. 您现在应该有一些直接来自存储过程的数据。

    【讨论】:

    • 好东西!完美工作:)
    • 第 2 步“选择您的 SQL 服务器”中显示的唯一选项是“新数据源”、“dBASE 文件”、“Excel 文件”和“MS Access 数据库”。我真的很想知道你们是如何做到的......
    • 我已经 3 年没用过这个了。我只能在 Excel 2007 中使用。您使用的是更新版本的 Excel 吗?
    • @RickNo 您需要将您的服务器添加为现有的 dsn 连接,然后当该框出现时,单击浏览,找到您的 dsn 文件,就是这样!
    • 在第 2 步,您需要已经配置了一个数据源。 (如果没有,请单击数据选项卡/现有连接,单击“浏览更多...”,单击“新源...”并创建它)。双击它后,会出现“查询向导 - 选择列”对话框。单击取消,然后对随后的消息框单击是。从步骤 3 继续。Excel 2016。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多