在Excel 2003中使用WCF?

有谁知道或可以find一些示例代码显示如何使用Excel 2003调用WCF服务?

本文的目标是访问Excel中的Web服务使用Microsoft Office System的Visual Studio工具 ,这些信息应该类似地适用于WCF服务。

我没有完美的赢家,这可能会很困难。 对于Office 2007来说,事情发展得更好。但是,鉴于此,您应该查看Visual Studio Tools for Office 。 以下是使用VSTO与Excel 2003的一些示例 。 这里是一篇关于如何从Office 2007应用程序调用WCF 的文章 。 你应该能够通过一些成功。 GL。 🙂

如果您想从Excel2003中调用WCF Web服务,并且不想使用VSTO,则需要COM兼容选项(No .Net)。

虽然这是过分弃用(和uncool),你可以使用服务器上的basicHttpBinding和Soap Toolkit

如果您不想这样做,您可以使用.Net程序集进行调用,并使用COM Interop从Excel调用它。

您可能需要查看使用WCF Service Moniker,它允许您从VBA调用WCF服务,而无需在.NET Framework之外的其他Excel客户机上安装任何内容。

Dim addr As String addr = "service:mexAddress=""net.tcp://localhost:7891/Test/WcfService1/Service1/Mex""," addr = addr + "address=""net.tcp://localhost:7891/Test/WcfService1/Service1/""," addr = addr + "contract=""IService1"", contractNamespace=""http://tempuri.org/""," addr = addr + "binding=""NetTcpBinding_IService1"",bindingNamespace=""http://tempuri.org/""" Dim service1 As Object Set service1 = GetObject(addr) MsgBox service1.GetData(12) 

我已经写出了一个完整的循序渐进的例子 。

/达米安

REST服务在Excel中也可以很好地工作。
如果使用“WebHttpBinding”,则可以使用“文件”→“打开”或“导入外部数据”→“Xml”将数据导入到Excel中。
2003年虽然不完美(2007年好得多)。