【问题标题】:Sql Server to Excel via a Web Service通过 Web 服务将 Sql Server 转换为 Excel
【发布时间】:2009-02-06 22:49:36
【问题描述】:

我想知道将数据从 Web 服务传输到 Excel 工作表(Office 2007)的最佳方式。我对从网站输出报告到 excel 不感兴趣。在我们的场景中,用户将使用 excel(带有许多宏等)并将大约 11000 行数据从服务器请求到工作表。

有人有这方面的经验吗?

提前致谢。

【问题讨论】:

  • 目标是从 Excel 中获取来自 .NET Web 服务的数据(表格数据)并尽可能高效地填充工作表。我在网上做了一些搜索,但有点惊讶于这个功能并不是 Excel 2007 的一部分。

标签: .net sql-server web-services excel


【解决方案1】:

我过去使用的一个简单的解决方案是通过 Web 服务器将数据从数据库获取到 Excel 中,即简单地将数据公开为网页中的表格。这可以使用您喜欢的任何技术来完成,例如ASP.NET,它可以连接到数据库,检索数据并将数据放入 GridView 控件中。

然后您可以在 Excel 中设置“网络查询”。这是通过使用菜单项 Data -> Import External Data -> New Web Query 完成的。然后,您可以导航到您的网页,选择表格作为您的数据源,然后选择应该写入的范围。

有自动刷新、查询字符串参数(来自工作表中的单元格)等选项。

您可以使用 VBA 自动刷新 Web 查询,作为更大流程的一部分,例如

Sheet1.QueryTables(1).Refresh

【讨论】:

    【解决方案2】:

    检查 SharePoint 和 Excel Services - 这正是它的设计目的。您可以在 SharePoint 中发布数据源以供任何用户在 Excel 中使用,并使他们的 Excel 电子表格与数据仓库保持同步。

    架构概述:

    http://technet.microsoft.com/en-us/magazine/2009.02.bookbi.aspx

    SQL Server Magazine 中的实施指南(需要订阅):

    http://www.sqlmag.com/Articles/Index.cfm?ArticleID=99355&pg=2

    【讨论】:

    • 我们需要从作为客户端界面/应用程序的 Excel 中获取数据。 Excel 需要从 Web 服务中提取数据。
    • 好的,在这种情况下,答案是 AdamRalph 关于构建宏的建议。
    【解决方案3】:

    您可以使用 SQL SSIS 连接到 webservice 任务http://msdn.microsoft.com/en-us/library/ms140114.aspx

    然后进行典型的移动到 excel 目标。

    【讨论】:

    • 注意:“HTTP连接管理器只支持匿名认证和基本认证,不支持Windows认证。”
    【解决方案4】:

    我最近使用了一个系统,它做了类似的事情,本质上它只是一个 Excel 工作簿,带有一些可以调用 Web 服务的 VB 脚本。它还提示用户输入凭据。

    我不能发布任何与电子表格相关的代码,但是有很多示例和信息,例如来自 Microsoft 的 this,以及其他教程/示例,例如 this

    【讨论】:

    • 这些都是非常好的资源。我们遇到的问题之一是如何将 xml 数据快速移动到工作表(不循环)。关于这样做的任何想法?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多