
mpp-viewer
Visa & exportera MPP-filer via öppen källkod Java-bibliotek
Visa Microsoft Project Plan (MPP)-filer i skrivskyddat läge & exportera till Excel via öppen källkod Java-applikation.
Vad är mpp-viewer?
mpp-viewer är en gratis och öppen källkod Java-applikation som är utformad för att visa Microsoft Project Plan (MPP)-filer i skrivskyddat läge. Den erbjuder ett användarvänligt gränssnitt liknande Microsoft Project och visar uppgifter i en hierarkisk struktur, inklusive start/slut-datum, föregångare och tilldelade resurser. Verktyget stöder MPP-format från 2007 till 2013 och markerar automatiskt slutförda eller försenade uppgifter för snabb visuell analys. Det möjliggör också för användare att söka efter specifika uppgifter, kopiera uppgiftsdetaljer och associera .mpp-filer direkt med visaren för sömlös arbetsflödesintegration.
En av dess viktigaste styrkor är förmågan att exportera MPP-data till Excel-filer (XLS/XLSX), vilket gör den idealisk för rapportering och delning av projektdata utanför Microsoft Project. Den är helt byggd i Java, mpp-viewer är plattformsoberoende och körs på alla system med en kompatibel Java Runtime Environment. Dess lätta design och intuitiva användargränssnitt gör den till ett praktiskt alternativ för team som behöver snabb åtkomst till projektplanens data utan att kräva dyra programvarulicenser. Med funktioner som uppgiftsmarkering, filtrering och textmarkering levererar mpp-viewer viktig projektinsyn med minimal belastning.
Komma igång med mpp-viewer
mpp-viewer är en fristående Java-applikation som finns på GitHub. Du kan ladda ner den senaste versionen från mpp-viewer GitHub-arkivet, eller bygga den från källkoden med Maven. Projektet inkluderar förbyggda JAR-filer för omedelbar användning. Ladda bara ner JAR-filen, se till att Java 8 eller högre är installerat, och kör den med java -jar mpp-viewer.jar. Ingen installation eller konfiguration krävs — vilket gör den idealisk för snabba granskningar av projektplaner på Windows, macOS eller Linux. Dess lätta fotavtryck säkerställer snabb start och smidig prestanda även med stora MPP-filer.
Kör mpp-viewer via Java-kommando
java -jar mpp-viewer.jarVisa MPP-filer med fullständig uppgiftshierarki
mpp-viewer visar Microsoft Project-uppgifter i en strukturerad, hierarkisk trädvy, som bevarar den ursprungliga WBS (Work Breakdown Structure) och föräldra‑barn-relationer. Varje uppgift visar viktiga detaljer såsom namn, startdatum, slutdatum, varaktighet, % färdig och föregångarlänkar. Resurser som tilldelats uppgifterna listas också, vilket ger användarna en omfattande översikt över arbetsbelastningsfördelning. Gränssnittet efterliknar Microsoft Projects välbekanta layout, vilket minskar inlärningskurvan för befintliga användare. Detta gör det särskilt användbart för projektledare som snabbt behöver granska projektplaner och beroenden utan att öppna hela Microsoft Project‑applikationen.
Hur öppnar och visar 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"));Markera slutförda och försenade uppgifter
mpp-viewer markerar automatiskt uppgifter baserat på deras status — slutförda uppgifter visas i grönt, medan försenade (förfallna) uppgifter visas i rött. Denna visuella ledtråd hjälper projektledare att snabbt identifiera riskfyllda objekt och följa framsteg på ett ögonblick. Markeringslogiken använder uppgiftens % färdig och faktiska slutdatum jämfört med grundplanen. Användare kan anpassa eller växla markering via UI-inställningarna. Denna realtidsvisualisering av status förbättrar beslutsfattande och statusrapportering, särskilt under projektgranskningar eller intressentmöten där snabba insikter är kritiska.
Hur aktiverar man markering av uppgiftsstatus?
// 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.Exportera MPP-data till Excel
mpp-viewer inkluderar en inbyggd exportfunktion som konverterar MPP-projektdatat till Excel (XLS/XLSX)-format. Detta är ovärderligt för att dela projekttidslinjer med intressenter som inte har tillgång till Microsoft Project. Exporten bevarar nyckelfält som uppgiftsnamn, datum, varaktighet, resurser och föregångare i en strukturerad kalkylbladslayout. Användare kan välja specifika uppgifter eller exportera hela projektet. Den resulterande Excel-filen är klar för vidare analys, rapportering eller integration i andra verktyg som Power BI eller Excel PivotTables — vilket gör mpp-viewer till en kraftfull bro mellan företagsprojektplanering och affärsintelligensarbetsflöden.
Hur exporterar man MPP till 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ök och kopiera uppgiftsinformation
mpp-viewer erbjuder en snabb sökfält för att hitta uppgifter efter namn, ID eller resurs — idealiskt för stora projekt med hundratals uppgifter. Resultaten markeras i uppgiftslistan, och användare kan klicka för att hoppa direkt till uppgiften. Dessutom kan du markera och kopiera vilken uppgiftsdetalj som helst (t.ex. datum, föregångare, anteckningar) till urklipp för användning i e‑post, rapporter eller dokumentation. Detta eliminerar manuell omskrivning och minskar fel. Kombinationen av sök‑ och kopieringsfunktionalitet förbättrar avsevärt produktiviteten under projektgranskningar, statusuppdateringar eller samordning mellan team.
Hur söker och kopierar man uppgiftsdetaljer?
// 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); 