Gratis Java API om Project MPP/MPX-bestanden te genereren & manipuleren

Open source Java-bibliotheek die softwareontwikkelaars in staat stelt projectgegevens te lezen en te schrijven in verschillende bestandsformaten, projectplannen te lezen, data‑analyse uit te voeren en rapporten te genereren binnen Java‑apps.

Wat is de MPXJ-bibliotheek?

In de dynamische wereld van Java Projectbeheer is het beheren en omgaan met diverse projectgegevensformaten essentieel. De MPXJ-bibliotheek, een gratis projectbeheerbibliotheek ontwikkeld door Jon Iles, is een krachtig hulpmiddel dat dit proces vereenvoudigt. Ontworpen voor Java‑ontwikkelaars, stelt MPXJ u in staat projectbestanden te lezen en naadloos te werken met Microsoft Project‑formaten zoals MPP, MPX en XML. Het helpt bij het automatiseren van projecttaken in Java door schone, consistente toegang tot projectgegevens te bieden, ongeacht het bestandstype. Of u nu vanaf nul bouwt of integreert in een bestaand systeem, MPXJ is een gratis Project API die gemakkelijk in elke Java‑toepassing past dankzij de cross‑platform compatibiliteit.

Wat MPXJ onderscheidt, is de veelzijdigheid in het omgaan met verschillende bestandstypen en het vermogen om MPX‑bestanden in Java te genereren, MPP‑bestanden in Java te maken, en projectgegevens eenvoudig te exporteren of te wijzigen. Java‑ontwikkelaars kunnen het gebruiken om taakdetails, resources, schema's en afhankelijkheden te extraheren — en vervolgens rapporten te genereren op basis van projectgegevens. Met deze mogelijkheden kunt u intelligente projectbeheer‑apps bouwen die efficiënt en volledig aanpasbaar zijn. MPXJ stelt ontwikkelaars in staat workflows te automatiseren, de nauwkeurigheid te verbeteren en op maat gemaakte projectoplossingen te leveren, waardoor het een favoriete keuze is voor iedereen die met complexe projectgegevens in Java werkt.

Previous Next

Aan de slag met MPXJ

Allereerst moet u de Java Development Kit (JDK) op uw systeem geïnstalleerd hebben. Het refereren naar MPXJ in uw Maven‑gebaseerde Java‑project is nog eenvoudiger. Het enige wat u hoeft te doen, is de volgende afhankelijkheid toevoegen aan uw pom.xml en uw IDE de MPXJ‑Jar‑bestanden laten ophalen en refereren.

MPXJ Maven Dependency



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

U kunt deze direct downloaden van GitHub-pagina

Lezen & Schrijven van projectgegevens via Java API

De open‑source MPXJ‑bibliotheek stelt gebruikers in staat om moeiteloos projectgegevens te lezen en te schrijven vanuit verschillende bestandsformaten zoals MPP (Microsoft Project), MPX en XML. De bibliotheek biedt ondersteuning voor meerdere projectbestandsformaten. Of u nu werkt met Microsoft Project‑bestanden of XML‑gebaseerde formaten gebruikt, MPXJ maakt een soepele import en export van projectgegevens mogelijk. Hieronder staat een voorbeeld van hoe u een Microsoft Project‑bestand (.mpp) kunt lezen en taakinformatie kunt extraheren.

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();
        }
    }
}

Data-analyse en rapportage

MPXJ stelt gebruikers in staat om data‑analyse uit te voeren en rapporten te genereren op basis van projectinformatie. Het kan worden gebruikt om de generatie van projectrapporten te automatiseren door relevante gegevens uit projectbestanden te extraheren. Dit kan tijd besparen en nauwkeurigheid in rapportageprocessen waarborgen. Ontwikkelaars kunnen de bibliotheek benutten om aangepaste projectbeheer‑tools te bouwen die aansluiten bij de unieke behoeften van hun organisaties. Deze flexibiliteit maakt het mogelijk om op maat gemaakte oplossingen te creëren die de algehele projectefficiëntie verbeteren. Hieronder staat een voorbeeld dat laat zien hoe u de totale duur van taken in een project kunt berekenen.

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();
        }
    }
}
           

Vereenvoudigde gegevensmanipulatie

Met de MPXJ‑bibliotheek wordt het werken met projectgegevens een fluitje van een cent. Of het nu gaat om het extraheren van taakinformatie, het bijwerken van resource‑toewijzingen of het genereren van rapporten, MPXJ biedt een uitgebreide set API’s om een groot aantal bewerkingen uit te voeren, waardoor ontwikkelaars projectbeheer‑taken efficiënt kunnen automatiseren en stroomlijnen. Hieronder staat een voorbeeld dat laat zien hoe u een nieuwe taak kunt maken en aan een project kunt toevoegen.

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();
        }
    }
}


 Dutch