
mpp-viewer
Vis og eksporter MPP-filer via Open Source Java-bibliotek
Vis Microsoft Project Plan (MPP)-filer i skrivebeskyttet tilstand og eksporter til Excel via Open Source Java-applikation.
Hvad er mpp-viewer?
mpp-viewer er en gratis og open-source Java-applikation designet til at vise Microsoft Project Plan (MPP) filer i skrivebeskyttet tilstand. Den giver en brugervenlig grænseflade, der ligner Microsoft Project, og viser opgaver i en hierarkisk struktur, inklusive start/slut-datoer, forgængere og tildelte ressourcer. Værktøjet understøtter MPP-formater fra 2007 til 2013 og fremhæver automatisk afsluttede eller forsinkede opgaver for hurtig visuel analyse. Det gør det også muligt for brugere at søge efter specifikke opgaver, kopiere opgavedetaljer og knytte .mpp-filer direkte til visningsprogrammet for en problemfri arbejdsprocesintegration.
En af dens vigtigste styrker er evnen til at eksportere MPP-data til Excel (XLS/XLSX)-filer, hvilket gør den ideel til rapportering og deling af projektdata uden for Microsoft Project. Den er fuldstændig bygget i Java, mpp-viewer er platformuafhængig og kører på ethvert system med et kompatibelt Java Runtime Environment. Dens letvægtsdesign og intuitive brugergrænseflade gør den til et praktisk alternativ for teams, der har brug for hurtig adgang til projektplandata uden at skulle købe dyre softwarelicenser. Med funktioner som opgavefremhævning, filtrering og tekstmarkering leverer mpp-viewer essentiel projektgennemsigtighed med minimal belastning.
Kom i gang med mpp-viewer
mpp-viewer er en selvstændig Java-applikation tilgængelig på GitHub. Du kan downloade den seneste udgivelse fra mpp-viewer GitHub arkivet, eller bygge den fra kildekoden ved hjælp af Maven. Projektet inkluderer forudbyggede JAR-filer til øjeblikkelig brug. Download blot JAR-filen, sørg for at Java 8 eller nyere er installeret, og kør den med java -jar mpp-viewer.jar. Ingen installation eller konfiguration er påkrævet — hvilket gør den ideel til hurtige gennemgange af projektplaner på Windows, macOS eller Linux. Dens letvægtige fodaftryk sikrer hurtig opstart og glat ydeevne selv med store MPP-filer.
Kør mpp-viewer via Java-kommando
java -jar mpp-viewer.jarVis MPP-filer med fuld opgavehierarki
mpp-viewer viser Microsoft Project-opgaver i en struktureret, hierarkisk trævisning, der bevarer den oprindelige WBS (Work Breakdown Structure) og forældre‑barn relationer. Hver opgave viser nøgleoplysninger såsom navn, startdato, slutdato, varighed, % færdig og forudgående links. Ressourcer tildelt opgaver er også listet, hvilket giver brugerne et omfattende overblik over arbejdsfordelingen. Grænsefladen efterligner Microsoft Projects velkendte layout, hvilket reducerer indlæringskurven for eksisterende brugere. Dette gør den især nyttig for projektledere, der hurtigt skal gennemgå projektplaner og afhængigheder uden at åbne den fulde Microsoft Project‑applikation.
Hvordan åbner og viser man en MPP-fil?
// mpp-viewer is launched via GUI; no code needed for basic viewing
// However, internally it uses MPXJ library to parse MPP files:
// net.sf.mpxj.reader.MPPReader reader = new MPPReader();
// ProjectFile project = reader.read(new File("project.mpp"));Fremhæv afsluttede og forsinkede opgaver
mpp-viewer automatisk fremhæver opgaver baseret på deres status — fuldførte opgaver vises i grøn, mens forsinkede (overdue) opgaver vises i rød. Dette visuelle hint hjælper projektledere hurtigt med at identificere risikable elementer og spore fremskridt på et øjeblik. Fremhævningslogikken bruger opgavens % færdig og faktiske slutdato i forhold til baselineplanen. Brugere kan tilpasse eller slå fremhævning til/fra via UI-indstillingerne. Denne realtidsstatusvisualisering forbedrer beslutningstagning og statusrapportering, især under projektgennemgange eller interessentmøder, hvor hurtige indsigter er kritiske.
Hvordan aktiverer man fremhævning af opgavens status?
// Highlighting is handled internally by the UI renderer:
// if (task.getActualFinish() != null && task.getActualFinish().before(today)) {
// style = Style.COMPLETED;
// } else if (task.getFinish().before(today) && task.getPercentComplete() < 100) {
// style = Style.DELAYED;
// }
// No user code required — highlighting is automatic.Eksporter MPP-data til Excel
mpp-viewer inkluderer en indbygget eksportfunktion, der konverterer MPP-projektdata til Excel (XLS/XLSX)-format. Dette er uvurderligt til at dele projektplaner med interessenter, som ikke har adgang til Microsoft Project. Eksporten bevarer nøglefelter som opgavenavn, datoer, varighed, ressourcer og forgængere i et struktureret regnearkslayout. Brugere kan vælge specifikke opgaver eller eksportere hele projektet. Den resulterende Excel-fil er klar til yderligere analyse, rapportering eller integration i andre værktøjer som Power BI eller Excel PivotTables — hvilket gør mpp-viewer til en kraftfuld bro mellem virksomhedens projektplanlægning og forretningsintelligensarbejdsgange.
Hvordan eksporterer man MPP til Excel?
// Export is triggered via UI menu: File → Export → Excel
// Internally, Apache POI is used:
// Workbook workbook = new XSSFWorkbook();
// Sheet sheet = workbook.createSheet("Tasks");
// // Write header and task rows...
// try (FileOutputStream fos = new FileOutputStream("export.xlsx")) {
// workbook.write(fos);
// }Søg og kopier opgaveinformation
mpp-viewer leverer en hurtig søgelinje til at finde opgaver efter navn, ID eller ressource — ideel til store projekter med hundredvis af opgaver. Resultaterne fremhæves i opgavelisten, og brugerne kan klikke for at springe direkte til opgaven. Derudover kan du vælge og kopiere enhver opgavedetalje (f.eks. datoer, forgængere, noter) til udklipsholderen til brug i e‑mails, rapporter eller dokumentation. Dette eliminerer manuel genindtastning og reducerer fejl. Kombinationen af søge‑ og kopieringsfunktionalitet forbedrer produktiviteten betydeligt under projektrevisioner, statusopdateringer eller tværteamssamarbejde.
Hvordan søger og kopierer man opgavedetaljer?
// Search is handled via UI input field:
// List results = project.getTasks().stream()
// .filter(t -> t.getName().toLowerCase().contains(query))
// .collect(Collectors.toList());
// Copy uses standard Java Toolkit:
// Toolkit.getDefaultToolkit().getSystemClipboard()
// .setContents(new StringSelection(task.getName()), null); 