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

时间:2009-05-12 09:30:53

标签: excel com dde

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

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

能够将其与其他办公套件(如OpenOffice)一起使用将是一个很大的好处。

8 个答案:

答案 0 :(得分:2)

将数据从自定义应用链接到Excel中的单元格是什么意思?

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

如果是这种情况,有很多选择。 Excel数据提供程序是一种方法。如果您要加载大量数据,则此方法有效。对于一个单元格来说,它可能有点过分。

如果可以通过网络接口访问外部数据(例如,HTTP),那么您可以编写一些Excel宏代码来使用它。您可以使用ServerXmlHttp对象从Excel中使用它。关于这方面的一些指导是HERE.

另一种方法是通过自定义COM对象公开数据,这是一种Excel可以使用的重用结构。你必须编写一些代码来完成它,但它并不太复杂。你可以用.NET,C ++,Javascript,VBScript,PerlScript,......编写它。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

COM界面非常简单。首先记录一个宏,然后执行您想要执行的操作。之后,将生成的代码翻译成您选择的编程语言。

答案 3 :(得分:1)

我在这里看到的所有解决方案都有将数据推向优秀的方法。 为什么不把这些数据拉到Excel本身? Excel确实能够通过oleDB和ODBC添加数据。 (至少从我所知道的版本开始)我只能在Office2007中测试它,这是我机器上唯一的版本。

您只需将此选项添加到带有数据标签的电子表格中即可。 很简单。这样你就可以摆脱在应用程序中维护代码的负担,打开Excel,运行一些代码将代码推送到单元格等。 您可以为此录制一个宏,并在打开Excel工作表时运行它。

答案 4 :(得分:0)

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

由于数据提供商不一样,尝试将其用于开放办公室将很困难。

答案 5 :(得分:0)

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

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

http://poi.apache.org/

答案 6 :(得分:0)

了Jonatan,

如果源应用程序将数据存储在数据库或文本文件中,则可以使用excels的数据函数构建来检索它。否则我会同意Dayton与VS2008的集成。您可以使用VS2005,但它需要您安装VSTO。

关于DDE - 除了几乎已经过时之外,使用不同版本的Excel和不同语言时会出现问题,这需要您为同一操作使用不同的关键字

答案 7 :(得分:0)

只是为了澄清:DDE适用于开放式办公室。我是Bloomberg的用户,我在开放式办公室开设了办公室2003电子表格,其中包含通过DDE更新的股票价格的bloomberg链接,它就像一个魅力。