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, бесплатная библиотека управления проектами, разработанная Джоном Айлсом, представляет собой мощный инструмент, упрощающий этот процесс. Предназначенная для Java‑разработчиков, MPXJ позволяет читать файлы проектов и без проблем работать с форматами Microsoft Project, такими как MPP, MPX и XML. Она помогает автоматизировать обработку задач проекта в Java, предоставляя чистый и согласованный доступ к данным проекта независимо от типа файла. Независимо от того, создаёте ли вы приложение с нуля или интегрируете его в существующую систему, MPXJ – бесплатный API управления проектами, который легко вписывается в любое Java‑приложение благодаря кроссплатформенной совместимости.

То, что отличает MPXJ, – её универсальность в работе с различными типами файлов и возможность генерировать файлы MPX на Java, создавать файлы MPP на Java и экспортировать или изменять данные проекта с лёгкостью. Java‑разработчики могут использовать её для извлечения деталей задач, ресурсов, расписаний и зависимостей, а затем генерировать отчёты на основе данных проекта. Благодаря этим возможностям вы можете создавать интеллектуальные приложения для управления проектами, которые эффективны и полностью настраиваемы. MPXJ даёт разработчикам возможность автоматизировать рабочие процессы, повышать точность и предоставлять адаптированные решения для проектов, делая её предпочтительным выбором для всех, кто работает со сложными данными проектов на Java.

Previous Next

Начало работы с MPXJ

Прежде всего, вам необходимо установить Java Development Kit (JDK) на ваш компьютер. Подключить MPXJ к вашему Maven‑проекту на Java ещё проще. Всё, что нужно, — добавить следующую зависимость в ваш pom.xml и позволить IDE загрузить и подключить JAR‑файлы MPXJ.

Зависимость MPXJ для Maven



<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) и извлечь информацию о задачах.

Как прочитать файл Microsoft Project (.MPP) и извлечь информацию о задачах через 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 позволяет пользователям выполнять анализ данных и генерировать отчёты на основе информации о проекте. Её можно использовать для автоматизации создания отчётов проекта, извлекая необходимые данные из файлов проекта. Это экономит время и обеспечивает точность в процессах отчётности. Разработчики могут использовать библиотеку для создания пользовательских инструментов управления проектами, соответствующих уникальным потребностям их организаций. Такая гибкость позволяет создавать адаптированные решения, повышающие общую эффективность проекта. Ниже показан пример, демонстрирующий, как вычислить общую продолжительность задач в проекте.

Как вычислить общую продолжительность задач в проекте через 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 для выполнения множества операций, позволяя разработчикам автоматизировать и оптимизировать задачи управления проектами эффективно. Ниже показан пример, демонстрирующий, как создать новую задачу и добавить её в проект.

Как создать новую задачу и добавить её в проект через 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();
        }
    }
}


 Русский