通过.NET源代码中的公式将数据导入到Excel电子表格中的适当技术是什么?

我希望能够允许用户在Excel中的单元格中input自定义公式,该公式将订阅由外部.NET应用程序提供的数据。 例如,用户可能会input…

=getCurrentValue("ABC") 

有一个外部.NET(C#)应用程序每分钟决定“ABC”的值。

单元格应显示来自外部应用程序的“ABC”的初始值,并在外部应用程序发送新值时更新。

在过去,我认为外部应用程序将是一个DDE服务器,公式将是一个DDE客户端公式,但DDE显然已经死亡。 什么是“正确”的技术来做到这一点?

请注意,电子表格需要通过公式提取数据。 信息不会进入固定的模板excel文件,而是进入用户input公式的任何电子表格。

谢谢,

约翰

Excel RTD(实时数据)是DDE的替代品。 它允许您在更新可用时将值推送到单元格。 如果提供更新的进程是外部应用程序,则在RTD服务器和外部应用程序之间设置WCF通道应允许您将实时更新提供给Excel。

这里有一些链接:

  • 如何为Excel创build一个RealTimeData服务器
  • Excel RTD服务器:最小的C#实现
  • Excel RTD服务器:主题的初始值
  • Excel RTD服务器:如何正确使用UpdateNotify
  • Excel RTD服务器:C#中的多个主题

您可以通过Excel Api与Excel工作表进行通信:

new Microsoft.Office.Interop.Excel.Application();