【问题标题】:What is the best way of accessing a WCF service from Excel?从 Excel 访问 WCF 服务的最佳方式是什么?
【发布时间】:2011-02-18 11:57:08
【问题描述】:

我想通过 Excel(2007 或 2010)中的 VBA 函数/宏访问 WCF 服务。

似乎有很多可能性,每一种都有其特定的缺点。 ...

  • Microsoft SOAP 工具包
  • WCF 服务名字对象
  • COM 互操作
  • VSTO
  • Excel-DNA

谁能建议最好的方法?

【问题讨论】:

  • 您能否分享一下您想如何使用该服务/您想用它做什么?
  • 该服务公开了一个 API,其主要目的是从数据库中提取数据。我想创建可以将这些数据提取到 Excel 中的 VBA 函数/宏。

标签: wcf excel vba service vsto


【解决方案1】:

我认为您的问题没有明确的答案;这在一定程度上取决于您要如何处理从服务返回的数据、您打算如何部署解决方案以及使用 VBA 完成了多少工作,而不是 .NET。
我的直觉是 VSTO 可能是正确的,因为它为您提供了一个成熟的 .NET 项目,这可能是处理 WCF 服务最方便的方式。假设您要做的是检索数据并让您的用户选择要提取的内容和显示方式,然后您可以为其构建用户界面(可能在任务窗格中),并将结果写入 Excel ,在 Visual Studio 中编写代码时。
但是,您提到了 VBA,我不太确定您想使用多少。如果您想要创建一个调用 .NET dll 的 VBA 用户定义函数,我发现 ExcelDNA 更易于使用。如果 VBA 是您想要关注的重点,那么这可能就是您要走的路。
希望这会有所帮助!

【讨论】:

  • 感谢您的建议 Mathias。最初的要求是在 VBA 中创建一组返回 WCF 服务提供的数据的 UDF。我已经通过 VSTO 取得了一些成功,所以这似乎是最好的前进方式;主要缺点似乎是 VBA 可以从服务接收的数据类型有限。如果它可以访问服务 API 公开的类定义,那就太好了。听起来 Excel-DNA 也一样好,尽管将来使用 VSTO 添加用户控件的可能性听起来是一个明显的优势。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-11
  • 2013-12-07
  • 2017-03-09
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
相关资源
最近更新 更多