2009-05-12 5 views
1

カスタムアプリケーションのデータをExcelのセルにリンクしたいと思っています。カスタムアプリからエクセルにデータを取得

これを行うにはどのような技術を使用しますか?私は主にUnix開発者であり、win32テクノロジについて深くは知らない。しかし、それは非常に古い技術ですが、DDEが最も簡単だろうと理解しています。

OpenOfficeなどの他のオフィススイートでも使用できることは大きなボーナスになります。

+0

OpenOfficeがDDEをサポートしていれば驚くでしょう。せいぜい、これはWindows上でのみ行われるため、他のすべてのプラットフォームに問題が残ることになります。 –

+0

もちろん、他のプラットフォーム用の別の実装が必要なのかもしれません。 – Jonatan

答えて

2

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

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

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

外部データがネットワークインターフェイス(HTTPと呼ばれます)を介してアクセスできる場合、それを消費するためのExcelマクロコードを書くことができます。 ServerXmlHttpオブジェクトを使用して、Excel内から消費することができます。これに関するいくつかのガイダンスはHERE.

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

0

セル値にリンクする最も簡単な方法は、Visual Studio 2008の.netデータプロバイダを使用する方法です。これより一般的な方法のいくつかへのリンクがあります。 Link

データプロバイダが同じではないので、これを開かれたオフィスで利用できるようにするのは難しいでしょう。

+0

リンクが死んでいます – quetzalcoatl

0

Java/JVMとそのApache POIライブラリの使用をお勧めします。

Excelファイルを読み書きすることができ、それは純粋なクロスプラットフォームのJavaです。 実際にはかなり信頼できます。

http://poi.apache.org/

+0

Excelファイルを読み書きしたくありません。データプロバイダとしてアプリケーションに接続したいと思っています。 – Jonatan

+0

ああ、それはOLEでしょう。 – alamar

1

.NETで、私はExcel用のCOMライブラリを使用します。ワークブック、ワークシート、および範囲オブジェクトを使用して、特定のワークシートやワークブック内の特定のセルを指定することができます。これらは.NET(特にVB.NET)からうまく機能します。

0

はJonatan、

ソースアプリケーションがデータベース、またはテキストファイルにデータを保存する場合は、それを取得するために、データ機能に優れビルドを使用することが可能になります。それ以外の場合は、VS2008との統合についてデイトンと同意します。 VS2005を使用することはできますが、VSTOをインストールする必要があります。 DDEについて

は - 同じ操作

1

COMインターフェイスは本当に簡単であるためにさまざまなキーワードを使用する必要がしますExcelと異なる言語の異なるバージョンを、使用している間はさておき、ほとんど時代遅れであることの、問題があります。まず、マクロを記録して、やりたいことをやりなさい。その後、生成されたコードを任意のプログラミング言語に翻訳します。

0

DDEはオープンオフィスで動作します。私はブルームバーグのユーザーであり、DDEを通じて更新された株価へのブルームバーグリンクを含むオープンオフィスで2003年のスプレッドシートを開きました。それは魅力的です。

+0

これは知っておいてよかった! – Jonatan

1

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

データタブを使用してスプレッドシートにこのオプションを追加するだけで済みます。 かなり簡単です。そうすれば、あなたは、あなたのアプリでコードをセルに押し込むためのコードを実行してExcelを開くように、あなたのアプリケーションのコードを維持する負担から解放することができます。 Excelのシートが開かれたら。

関連する問題