web-dev-qa-db-ja.com

C#からMicrosoft Project(MPP)ファイルにプログラムでアクセスする

プログラムでMicrosoftProjectファイルにアクセスするためのオプションは何ですか?各アプローチの長所と短所は何ですか?

基本的に、ファイルから別のデータ構造にすべてのデータをインポートする必要があります。 Office Interopアセンブリの使用は、優先度が低くなっています。

19
Bob

オプションは次のとおりです。

  1. 相互運用(大規模なプロジェクトでは厄介でひどく遅い)
  2. プロジェクトをXMLで保存し、それを操作します(乱雑)
  3. プロジェクトをデータベースに保存します(公開されておらず、プロジェクト2003でのみ使用できます-保存中のODBCオプションを参照))統合シナリオで多く使用されているのを見てきました
  4. プロジェクト (商用、ライセンスあたり10ドル)
  5. ILog Project Viewer (これも商用)
5
Rinat Abdullin

MPXJ( mpxj.sf.net )ライブラリには、Javaと.Netの両方のフレーバーがあり、単一のMicrosoftProjectファイル形式を使用して複数のMicrosoftProjectファイル形式を読み書きできます。一貫性のあるAPI。Javaと.NetバージョンのMPXJの両方を問題なく使用する商用製品を知っています。

免責事項:私はMPXJのメンテナーです。

14
Jon Iles

Aspose.Tasks for .NET を使用できます。このコンポーネントを使用すると、 Microsoft Projectファイルを操作する 。 Office Interopとは異なり、サーバーにMSOfficeをインストールする必要はありません。 APIは非常にシンプルで使いやすいです。また、MPPファイルの読み取り、編集、書き込み、変換を行うための豊富な機能セットを提供します。

このコンポーネントは、.NETアプリケーションで使用できる通常の.NETアセンブリです。これは、すべてのWindowsOSおよび32/64ビット環境でも機能します。

開示:私はAsposeで開発者エバンジェリストとして働いています。

5
Shahzad Latif

Microsoft Office APIは、MSProjectへのプログラムによるアクセスを提供します。私はこれをWordとExcelにのみ使用したので、インターフェイスがどれほど豊富かはわかりません。MSDNを調べて、何ができるか、何ができないかを調べる必要があります。

私の会社のJavaプロジェクトの1つは、 Aspose による商用製品を使用しています。これにより、アプリケーションはProjectを含むOfficeドキュメントを操作できます。これは目的には適していますが、繰り返しになります。彼らはそれをWordとExcelにしか使用していないので、Projectについて多くのアドバイスを提供することはできません。

編集(2019):非常に有能な製品であることが確認できます。

4
Rikalous

Sourcefourge.netは、Javaで、.netアプリケーションと統合してMPP2007までのMPPファイルを読み取ることができるコンポーネントを提供しています。リンクは http://mpxj.sourceforge.net/getting -started.html

1
Rajesh