1

カスタム アプリケーションのデータを Excel のセルにリンクできるようにしたいと考えています。

そのためにどのような技術を使用しますか? 私は主に Unix 開発者であり、win32 テクノロジについて詳しく知りません。しかし、私が理解している限り、DDE は非常に古い技術ですが、最も簡単です。

OpenOffice などの他のオフィス スイートと一緒に使用できることは大きなメリットです。

4

8 に答える 8

2

「カスタム アプリのデータを Excel のセルにリンクする」とはどういう意味ですか?

外部アプリによって生成されたデータを Excel シートに表示しますか?

その場合、いくつかのオプションがあります。Excel データ プロバイダーはその 1 つの方法です。これは、ロードしたいデータがたくさんある場合に機能します。1 つのセルだけでは、やり過ぎかもしれません。

ネットワーク インターフェイス (HTTP など) を介して外部データにアクセスできる場合は、Excel マクロ コードを記述してそれを使用できます。ServerXmlHttp オブジェクトを使用して、Excel 内からそれを使用できます。それに関するいくつかのガイダンスはHERE です。

もう 1 つの方法は、カスタム COM オブジェクトを介してデータを公開することです。これは、Excel で非常に使いやすい再利用構造です。それを行うにはいくつかのコードを作成する必要がありますが、それほど複雑ではありません。.NET、C++、Javascript、VBScript、PerlScript などで記述できます。

于 2009-05-12T20:47:07.250 に答える
1

ここで見たすべてのソリューションには、データをプッシュして優れたものにするアプローチがあります。このデータを Excel 自体にプルする責任を与えないのはなぜですか? Excel には、oleDB および ODBC を介してデータを追加する機能があります。(少なくとも私が知っているバージョンから)私のマシンにある唯一のバージョンであるOffice2007でのみテストできます。

このオプションをスプレッドシートのデータ タブに追加するだけです。ものすごく単純。そうすれば、アプリでコードを維持して Excel を開いたり、コードを実行してコードをセルにプッシュしたりする負担からも解放されます。おそらく、このマクロを記録して、Excel シートを開いたときにそれを実行できます。

于 2009-05-13T07:18:55.267 に答える
1

COM インターフェイスは非常に簡単です。マクロを記録することから始めて、やりたいことを実行します。その後、生成されたコードを選択したプログラミング言語に翻訳します。

于 2009-05-12T19:17:11.467 に答える
1

.NET では、Excel 用の COM ライブラリを使用します。Workbook、Worksheet、および Range オブジェクトを使用して、特定のワークシートおよびワークブック内の特定のセルをアドレス指定できます。これらは .NET (特に VB.NET) からうまく機能します。

于 2009-05-12T19:12:14.627 に答える
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

明確にするために: DDE はオープン オフィスで動作します。私はブルームバーグのユーザーで、DDE 経由で更新された株価へのブルームバーグ リンクを含むオープン オフィスで Office 2003 スプレッドシートを開きました。

于 2009-05-12T20:56:23.473 に答える
0

ジョナタン、

ソース アプリケーションがデータをデータベースまたはテキスト ファイルに保存する場合、Excel の組み込みデータ関数を使用してデータを取得できます。そうでなければ、VS2008 との統合について Dayton に同意します。VS2005 を使用できますが、VSTO をインストールする必要があります。

DDE に関して - ほとんど時代遅れであることに加えて、異なるバージョンの Excel と異なる言語を使用すると問題が発生し、同じ操作に対して異なるキーワードを使用する必要があります。

于 2009-05-12T19:16:18.363 に答える