从自定义应用程序获取数据到EXcel

我希望能够将自定义应用程序中的一些数据链接到Excel中的单元格。

你会用什么技术来做到这一点? 我主要是一个Unix开发人员,并不深入了解win32技术。 但据我了解DDE是最简单的,即使它是非常古老的技术。

能够将其与其他办公套件(如OpenOffice)一起使用将是一大优势。

这是什么意思“将数据从一个自定义应用程序链接到Excel中的单元格”?

您是否希望Excel表单显示由某个外部应用程序生成的数据?

如果是这样的话,有很多select。 Excel数据提供程序是一种方法。 如果你有很多你想要加载的数据,这是有效的。 对于只有一个单元格,这可能是矫枉过正的。

如果外部数据可以通过networking接口(比方说HTTP)访问,那么你可以写一些Excelmacros代码来使用它。 您可以使用ServerXmlHttp对象从Excel中使用它。 一些指导是在这里。

另一种方法是通过一个自定义的COM对象来暴露数据,这个对象是一个Excel非常易于使用的重用构造。 你必须编写一些代码才能做到这一点,但不是太复杂。 你可以写在.NET,C ++,Javascipt,VBScript,PerlScript,…

在.NET中,我将使用Excel的COM库。 您可以使用Workbook,Worksheet和Range对象来处理特定工作表和工作簿中的特定单元格。 这些工作从.NET(特别是VB.NET)很好。

COM接口非常简单。 你开始录制一个macros,并做你打算做的事情。 之后,将生成的代码翻译成您select的编程语言。

我在这里看到的所有解决scheme都有将数据推送到excel的方法。 为什么不把这个数据提交给Excel本身? Excel能够通过oleDB和ODBC添加数据。 (至less从我知道的版本)我只能testing在Office2007,我的机器上唯一的版本。

您只需将该选项添加到电子表格中的数据选项卡即可。 很简单。 这样,你也可以免除维护应用程序中代码的负担,打开Excel,运行一些代码将代码推入单元格等等。你可能会logging一个macros,并在Excel表单打开时运行该macros。

链接到单元格值最简单的方法是通过Visual Studio 2008中的.net数据提供程序。下面是一些更常用方法的链接。 链接

由于数据提供者不一样,要尝试开放办公室是困难的。

我build议使用Java / JVM及其Apache POI库。

它可以读写Excel文件,它是纯粹的跨平台的Java。 这在实践中是非常可靠的。

http://poi.apache.org/

了Jonatan,

如果源应用程序将数据存储在数据库或文本文件中,则可以使用Excel中的数据函数构build来检索它。 否则,我会同意代顿与VS2008的整合。 你可以使用VS2005,但是它会要求你安装VSTO。

关于DDE,除了几乎已经过时之外,在使用不同版本的Excel和不同的语言时也会遇到问题,这将要求您针对相同的操作使用不同的关键字

只是为了澄清:DDE与开放式办公室合作。 我是彭博社的用户,我在开放式办公室打开了一个office2003的电子表格,里面包含了通过DDE更新股票价格的Bloomberg链接,它的function就像一个魅力。