プロジェクト MPP/MPX ファイルを生成・操作する無料 Java API

オープンソースの Java ライブラリで、ソフトウェア開発者がさまざまなファイル形式でプロジェクトデータを読み書きし、プロジェクト計画を読み取り、データ分析を行い、Java アプリ内でレポートを生成できます。

MPXJ ライブラリとは?

Java プロジェクト管理のダイナミックな世界では、多様なプロジェクトデータ形式を管理・操作することが不可欠です。Jon Iles が開発した無料のプロジェクト管理ライブラリである MPXJ は、このプロセスをシンプルにする強力なツールです。Java 開発者向けに設計された MPXJ は、プロジェクトファイルを読み取り、MPP、MPX、XML などの Microsoft Project 形式とシームレスに連携できます。ファイルタイプに関係なくクリーンで一貫したプロジェクトデータへのアクセスを提供し、Java でのプロジェクトタスク処理を自動化します。ゼロから構築する場合でも既存システムに統合する場合でも、MPXJ はクロスプラットフォーム対応により、あらゆる Java アプリケーションに簡単に組み込める無料のプロジェクト管理 API です。

MPXJ の特徴は、さまざまなファイルタイプに対応できる汎用性と、MPX ファイルの生成、MPP ファイルの作成、プロジェクトデータのエクスポートや変更を容易に行える点です。Java 開発者はタスクの詳細、リソース、スケジュール、依存関係を抽出し、プロジェクトデータに基づくレポートを生成できます。これらの機能により、効率的で完全にカスタマイズ可能なインテリジェントなプロジェクト管理アプリを構築できます。MPXJ はワークフローの自動化、精度の向上、カスタマイズされたプロジェクトソリューションの提供を支援し、Java で複雑なプロジェクトデータを扱うすべての開発者にとって最適な選択肢です。

Previous Next

MPXJ の開始方法

まず最初に、システムに Java Development Kit (JDK) がインストールされていることを確認してください。Maven ベースの Java プロジェクトで MPXJ を参照するのはさらに簡単です。pom.xml に以下の依存関係を追加し、IDE に MPXJ の JAR ファイルを取得させるだけです。

MPXJ の Maven 依存関係



<dependencies>
<dependency>
<groupId>net.sf.mpxj</groupId>
<artifactId>mpxj</artifactId>
<version>10.11.0</version>
</dependency>
</dependencies>

GitHub ページから直接ダウンロードできます GitHub page

Java API を使用したプロジェクトデータの読み書き

オープンソースの MPXJ ライブラリを使用すると、MPP(Microsoft Project)、MPX、XML などのさまざまなファイル形式からプロジェクトデータを簡単に読み書きできます。ライブラリは複数のプロジェクトファイル形式をサポートしています。Microsoft Project ファイルを扱う場合でも、XML ベースの形式を使用する場合でも、MPXJ はプロジェクトデータのスムーズなインポートとエクスポートを実現します。以下は、Microsoft Project ファイル(.mpp)を読み取り、タスク情報を抽出する例です。

Java API を使用して Microsoft Project ファイル (.MPP) を読み取り、タスク情報を抽出する方法

import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.reader.ProjectReader;
import net.sf.mpxj.reader.UniversalProjectReader;

public class ReadMPPExample {
    public static void main(String[] args) {
        try {
            ProjectReader reader = new UniversalProjectReader();
            ProjectFile project = reader.read("sample.mpp");
            
            System.out.println("Project Name: " + project.getProjectProperties().getName());
            System.out.println("Tasks:");
            project.getTasks().forEach(task -> {
                System.out.println("ID: " + task.getID() + ", Name: " + task.getName());
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

データ分析とレポート作成

MPXJ はプロジェクト情報に基づくデータ分析とレポート生成を可能にします。プロジェクトファイルから関連データを抽出してレポート作成を自動化でき、時間を節約し、レポートプロセスの正確性を確保します。開発者はこのライブラリを活用して、組織固有のニーズに合わせたカスタムプロジェクト管理ツールを構築できます。この柔軟性により、全体的なプロジェクト効率を向上させるテーラーメイドのソリューションを作成できます。以下は、プロジェクト内タスクの総期間を計算する例です。

Java API を使用してプロジェクト内タスクの総期間を計算する方法

import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Task;

public class DataAnalysisExample {
    public static void main(String[] args) {
        try {
            ProjectFile project = new ProjectFile("sample.mpp");
            int totalDuration = 0;
            
            for (Task task : project.getTasks()) {
                totalDuration += task.getDuration();
            }
            
            System.out.println("Total duration of tasks: " + totalDuration + " days");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
           

シンプルなデータ操作

MPXJ ライブラリを使用すれば、プロジェクトデータの操作が非常に簡単になります。タスク情報の抽出、リソース割り当ての更新、レポート生成など、さまざまな操作を行うための包括的な API が提供されており、開発者はプロジェクト管理タスクを効率的に自動化・合理化できます。以下は、新しいタスクを作成しプロジェクトに追加する例です。

Java API を使用して新しいタスクを作成し、プロジェクトに追加する方法

import net.sf.mpxj.ProjectFile;
import net.sf.mpxj.Task;

public class ManipulateProjectExample {
    public static void main(String[] args) {
        try {
            ProjectFile project = new ProjectFile();
            Task task = project.addTask();
            task.setName("New Task");
            task.setDuration(5); // duration in days
            
            System.out.println("New task added to the project.");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


 日本