1

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

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

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

4

8 回答 8

2

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

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

如果是这种情况,则有多种选择。Excel 数据提供程序是一种方法。如果您有大量要加载的数据,则此方法有效。对于一个细胞,这可能是矫枉过正。

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

另一种方法是通过自定义 COM 对象公开数据,这是 Excel 非常容易使用的重用构造。您必须编写一些代码才能做到这一点,但这并不太复杂。您可以用 .NET、C++、Javascript、VBScript、PerlScript 等编写它

于 2009-05-12T20:47:07.250 回答
1

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

于 2009-05-12T19:12:14.627 回答
1

COM 接口非常简单。你首先录制一个宏,然后做你想做的事。之后将生成的代码翻译成您选择的编程语言。

于 2009-05-12T19:17:11.467 回答
1

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

您所要做的就是将此选项添加到带有数据选项卡的电子表格中。很简单。这样,您还可以免除维护应用程序中的代码以打开 Excel、运行一些代码以将代码推送到单元格等的负担。您可以为此录制一个宏并在打开 Excel 工作表时运行该宏。

于 2009-05-13T07:18:55.267 回答
0

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

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

于 2009-05-12T19:05:41.830 回答
0

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

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

http://poi.apache.org/

于 2009-05-12T19:08:15.803 回答
0

乔纳坦,

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

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

于 2009-05-12T19:16:18.363 回答
0

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

于 2009-05-12T20:56:23.473 回答