Konvertering af projektplaner fra Microsoft Project til Excel‑regneark er et hyppigt behov for rapportering og dataanalyse. Aspose.CAD Cloud SDK for Node.js gør det muligt for udviklere at konvertere MPP til XLSX i Node.JS med kun få linjer kode. I denne vejledning vil du se, hvordan du opsætter biblioteket, uploader en MPP‑fil til cloud‑lagring, genererer en XLSX‑opgavelistesrapport og henter resultatet. Guiden indeholder også tilsvarende cURL‑kommandoer for REST API‑brugere. Når du er færdig, vil du være klar til at integrere MPP til XLSX‑konvertering i dine Node.JS‑applikationer.

Fuld fungerende eksempel på konvertering af MPP til XLSX i Node.JS

Dette eksempel demonstrerer, hvordan du uploader en MPP‑fil, anmoder om en XLSX‑opgavelistesrapport og downloader resultatet ved hjælp af Aspose.Tasks Cloud API.

const path = require('path');
const fs = require('fs');
const {
    Configuration,
    ApiClient,
    TasksApi,
    StorageApi
} = require('asposetaskscloud');

(async () => {
    // -------------------- Configuration --------------------
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
        // baseUrl can be set here if needed
    });
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);

// -------------------- File paths --------------------
    const localInputPath = path.resolve(__dirname, 'project.mpp');
    const remoteFolder = 'Temp';
    const remoteFileName = 'project.mpp';
    const localOutputPath = path.resolve(__dirname, 'project.xlsx');

try {
        // -------------------- Upload MPP to cloud storage --------------------
        const fileBuffer = fs.readFileSync(localInputPath);
        await storageApi.uploadFile({
            path: `${remoteFolder}/${remoteFileName}`,
            file: fileBuffer
        });

// -------------------- Convert to XLSX (TaskSheet report) --------------------
        const reportResponse = await tasksApi.getTaskReport({
            name: remoteFileName,
            folder: remoteFolder,
            reportType: 'TaskSheet', // options: GanttChart, ResourceSheet, etc.
            format: 'xlsx'
        });

// -------------------- Save XLSX locally --------------------
        fs.writeFileSync(localOutputPath, reportResponse.body);
        console.log(`Conversion completed. XLSX saved to ${localOutputPath}`);
    } catch (err) {
        if (err.response && err.response.body) {
            console.error('API error:', err.response.body);
        } else {
            console.error('Unexpected error:', err);
        }
    } finally {
        // -------------------- Cleanup remote file --------------------
        try {
            await storageApi.deleteFile({ path: `${remoteFolder}/${remoteFileName}` });
        } catch (cleanupErr) {
            // ignore cleanup errors
        }
    }
})();

Bemærk: Dette kodeeksempel demonstrerer kernefunktionaliteten. Før du bruger det i dit projekt, skal du sikre dig, at du opdaterer alle filstier og konfigurationsværdier, så de matcher dit faktiske miljø, bekræfter at alle nødvendige afhængigheder er korrekt installeret, og tester grundigt i dit udviklingsmiljø. Hvis du støder på problemer, så henvis til den officielle dokumentation eller kontakt supportteamet for assistance.

Brug af REST API med cURL til MPP til XLSX konvertering

Nedenfor er cURL‑kommandoerne, der udfører de samme trin som Node.js‑koden, ved hjælp af Aspose.Tasks Cloud REST API.

  1. Få en adgangstoken - erstat YOUR_CLIENT_ID og YOUR_CLIENT_SECRET med dine legitimationsoplysninger.
curl -X POST "https://api.aspose.cloud/v4.0/oauth2/token?grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
  1. Upload kildefilen MPP - gem tokenet fra det foregående trin i YOUR_ACCESS_TOKEN.
curl -X PUT "https://api.aspose.cloud/v4.0/storage/file/Temp/project.mpp" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary "@project.mpp"
  1. Anmod om XLSX‑opgaveløsningsrapport.
curl -X GET "https://api.aspose.cloud/v4.0/tasks/project.mpp/report?reportType=TaskSheet&format=xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx
  1. Download den genererede XLSX-fil (den foregående kommando gemmer den allerede lokalt, men du kan også hente den direkte).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx

For flere detaljer om hver endpoint, se den officielle API-referencen([link])

Hvordan konvertering af MPP til XLSX i Node.JS fungerer

Implementeringen kan opdeles i følgende trin:

  1. Konfigurer godkendelse - Configuration‑objektet indeholder clientId og clientSecret.
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    
  2. Opret API‑klienter - ApiClient instantieres med konfigurationen og videregives til TasksApi og StorageApi.
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);
    
  3. Upload MPP‑filen - Filen læses ind i en buffer og sendes via storageApi.uploadFile.
    const fileBuffer = fs.readFileSync(localInputPath);
    await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
    
  4. Anmod om XLSX‑rapporten - tasksApi.getTaskReport kaldes med reportType: 'TaskSheet' og format: 'xlsx'.
    const reportResponse = await tasksApi.getTaskReport({
        name: remoteFileName,
        folder: remoteFolder,
        reportType: 'TaskSheet',
        format: 'xlsx'
    });
    
  5. Gem resultatet lokalt - Den binære svarkrop skrives til project.xlsx.
    fs.writeFileSync(localOutputPath, reportResponse.body);
    

Disse trin illustrerer et STEP by STEP Convert Large MPP Files to XLSX in Node.JS workflow, der kan tilpasses andre rapporttyper såsom GanttChart eller ResourceSheet.

Forudsætninger og opsætning for Aspose.CAD Cloud SDK

  1. Node.js version - Sørg for, at du kører Node.js 14 eller nyere.
  2. Installer SDK’en - Brug npm til at tilføje pakken til dit projekt.
    npm install @asposecloud/aspose-cad-cloud
    
    Pakken er tilgængelig fra den officielle downloadside.
  3. Opret en Aspose Cloud-konto - Få clientId og clientSecret fra Aspose Cloud‑dashboardet.
  4. Opsæt miljøvariabler (valgfri men anbefalet) for at holde legitimationsoplysninger ude af kildekoden.

Når disse forudsætninger er opfyldt, kan du køre det komplette kodeeksempel, der blev vist tidligere.

Konverteringsmuligheder og indstillinger

Tasks API’en tilbyder flere parametre, der påvirker outputtet:

  • reportType - Bestemmer hvilken type data der eksporteres. Muligheder inkluderer TaskSheet, GanttChart, ResourceSheet osv. Eksemplet bruger TaskSheet til at producere en flad opgaveliste i XLSX.
  • format - Understøtter i øjeblikket xlsx, pdf, html. Ændring af denne værdi skifter outputfiltypen.
  • folder - Angiver den cloud‑lagringsmappe, hvor kilde‑MPP’en befinder sig. Juster efter behov for din projektstruktur.

For en komplet liste over muligheder, se API-referencen.

Afslutning

Du har nu en komplet, produktionsklar metode til at konvertere MPP til XLSX i Node.JS ved hjælp af Aspose.CAD Cloud SDK for Node.js. SDK’en håndterer godkendelse, filopbevaring og rapportgenerering, så du kan fokusere på at integrere XLSX-dataene i din forretningslogik. Husk at anskaffe en korrekt licens til produktionsbrug; prisoplysninger findes på produktsiden, og du kan få en midlertidig licens fra midlertidig licensside. God kodning!

Ofte stillede spørgsmål

Kan jeg konvertere MPP til XLSX i Node.JS uden at bruge Aspose.CAD Cloud SDK?
Selvom en brugerdefineret parser er mulig, leverer Aspose.CAD Cloud SDK for Node.js en testet, pålidelig løsning, der sparer udviklingstid og håndterer kanttilfælde.

Hvilke rapporttyper er tilgængelige ved konvertering af MPP til XLSX?
API’en understøtter TaskSheet, GanttChart, ResourceSheet og mere. Valg af en anden reportType ændrer strukturen i den genererede XLSX-fil.

Hvordan håndterer jeg store MPP-filer under konvertering?
Upload store filer i bidder ved hjælp af storage API’et, overvåg konverteringsstatussen, og stream XLSX-resultatet for at undgå høj hukommelsesforbrug.

Læs mere