Free Java API to Generate & Manipulate Project MPP/MPX Files

Open Source Java Library that enables Software Developers to Read and Write Project Data in Various File formats, Read Project Plans, Perform Data Analysis and Generate Reports inside Java Apps.

MPXJ 库是什么?

在动态的 Java 项目管理领域,管理和交互多种项目数据格式至关重要。MPXJ 库是由 Jon Iles 开发的免费项目管理库,是简化此过程的强大工具。为 Java 开发者设计,MPXJ 让您读取项目文件并无缝处理 Microsoft Project 的 MPP、MPX 和 XML 格式。它通过提供干净、一致的项目数据访问,帮助在 Java 中自动化项目任务处理,无论文件类型如何。无论是从头构建还是集成到现有系统,MPXJ 作为免费项目管理 API,凭借跨平台兼容性,轻松融入任何 Java 应用程序。

MPXJ 与众不同之处在于其处理多种文件类型的多功能性,以及轻松生成 MPX 文件、创建 MPP 文件并导出或修改项目数据的能力。Java 开发者可以使用它提取任务细节、资源、进度和依赖关系——随后基于项目数据生成报告。凭借这些功能,您可以构建高效且完全可定制的智能项目管理应用。MPXJ 使开发者能够自动化工作流、提升准确性并交付量身定制的项目解决方案,成为处理 Java 中复杂项目数据的首选。

Previous Next

开始使用 MPXJ

首先,您需要在系统上安装 Java 开发工具包(JDK)。在基于 Maven 的 Java 项目中引用 MPXJ 更加简单。只需在 pom.xml 中添加以下依赖,让您的 IDE 下载并引用 MPXJ Jar 文件即可。

MPXJ Maven Dependency



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

您可以直接从 GitHub 页面下载

通过 Java API 读取和写入项目数据

开源的 MPXJ 库使用户能够轻松地从不同文件格式(如 MPP(Microsoft Project)、MPX 和 XML)读取和写入项目数据。该库已支持多种项目文件格式。无论是使用 Microsoft Project 文件还是基于 XML 的格式,MPXJ 都能顺畅地导入和导出项目数据。以下示例展示了如何读取 Microsoft Project 文件(.mpp)并提取任务信息。

How to Read a Microsoft Project File (.MPP) & Extract Task Information via Java API?

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 使用户能够基于项目信息执行数据分析并生成报告。它可通过从项目文件中提取相关数据来自动化项目报告的生成,从而节省时间并确保报告过程的准确性。开发者可以利用该库构建符合组织独特需求的定制项目管理工具。这种灵活性允许创建提升整体项目效率的量身解决方案。以下示例演示了如何计算项目中任务的总持续时间。

How to Calculate the Total Duration of Tasks in a Project via 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 库,处理项目数据变得轻而易举。无论是提取任务信息、更新资源分配还是生成报告,MPXJ 都提供了全面的 API 集合,以执行众多操作,帮助开发者高效地自动化和简化项目管理任务。以下示例演示了如何创建新任务并将其添加到项目中。

How to Create a New Task and Add It to a Project via 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();
        }
    }
}


 中国人