Convertire i programmi di progetto da Microsoft Project in fogli di calcolo Excel è una necessità frequente per la creazione di report e l’analisi dei dati. Aspose.CAD Cloud SDK for Node.js consente agli sviluppatori di convertire MPP in XLSX in Node.JS con poche righe di codice. In questo tutorial vedrai come configurare la libreria, caricare un file MPP nello storage cloud, generare un report del foglio attività XLSX e recuperare il risultato. La guida fornisce anche i comandi cURL equivalenti per gli utenti dell’API REST. Alla fine sarai pronto a integrare la conversione da MPP a XLSX nelle tue applicazioni Node.JS.

Esempio completo funzionante per convertire MPP in XLSX in Node.JS

Questo esempio dimostra come caricare un file MPP, richiedere un report di foglio attività XLSX e scaricare il risultato utilizzando l’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
        }
    }
})();

Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati di aggiornare tutti i percorsi dei file e i valori di configurazione per corrispondere al tuo ambiente reale, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.

Utilizzo dell’API REST con cURL per la conversione da MPP a XLSX

Di seguito sono i comandi cURL che eseguono gli stessi passaggi del codice Node.js, utilizzando l’API REST di Aspose.Tasks Cloud.

  1. Ottieni un token di accesso - sostituisci YOUR_CLIENT_ID e YOUR_CLIENT_SECRET con le tue credenziali.
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. Carica il file MPP di origine - memorizza il token dal passaggio precedente in 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. Richiedi il report del foglio di attività XLSX.
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. Scarica il file XLSX generato (il comando precedente lo salva già localmente, ma è possibile recuperarlo direttamente).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o project.xlsx

Per ulteriori dettagli su ciascun endpoint, consulta la documentazione API ufficiale.

Come funziona la conversione da MPP a XLSX in Node.JS

L’implementazione può essere suddivisa nei seguenti passaggi:

  1. Configura l’autenticazione - L’oggetto Configuration contiene clientId e clientSecret.
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    
  2. Crea i client API - ApiClient viene istanziato con la configurazione e passato a TasksApi e StorageApi.
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);
    
  3. Carica il file MPP - Il file viene letto in un buffer e inviato tramite storageApi.uploadFile.
    const fileBuffer = fs.readFileSync(localInputPath);
    await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
    
  4. Richiedi il report XLSX - tasksApi.getTaskReport viene chiamato con reportType: 'TaskSheet' e format: 'xlsx'.
    const reportResponse = await tasksApi.getTaskReport({
        name: remoteFileName,
        folder: remoteFolder,
        reportType: 'TaskSheet',
        format: 'xlsx'
    });
    
  5. Salva il risultato localmente - Il corpo della risposta binaria viene scritto in project.xlsx.
    fs.writeFileSync(localOutputPath, reportResponse.body);
    

Questi passaggi illustrano un PASSO PER PASSO Converti file MPP di grandi dimensioni in XLSX in Node.JS flusso di lavoro che può essere adattato ad altri tipi di report come GanttChart o ResourceSheet.

Prerequisiti e configurazione per Aspose.CAD Cloud SDK

  1. Versione Node.js - Assicurati di eseguire Node.js 14 o successivo.
  2. Installa l’SDK - Usa npm per aggiungere il pacchetto al tuo progetto.
    npm install @asposecloud/aspose-cad-cloud
    
    Il pacchetto è disponibile dalla pagina di download ufficiale.
  3. Crea un account Aspose Cloud - Ottieni clientId e clientSecret dalla dashboard di Aspose Cloud.
  4. Configura le variabili d’ambiente (opzionale ma consigliato) per tenere le credenziali fuori dal codice sorgente.

Con questi prerequisiti soddisfatti, è possibile eseguire l’esempio di codice completo mostrato in precedenza.

Opzioni di conversione e impostazioni

L’API Tasks offre diversi parametri che influenzano l’output:

  • reportType - Determina il tipo di dati esportati. Le opzioni includono TaskSheet, GanttChart, ResourceSheet, ecc. L’esempio utilizza TaskSheet per produrre un elenco di attività piatto in XLSX.
  • format - Attualmente supporta xlsx, pdf, html. Modificando questo valore si cambia il tipo di file di output.
  • folder - Specifica la cartella di archiviazione cloud in cui si trova il file MPP di origine. Regola secondo le necessità della struttura del tuo progetto.

Per un elenco completo di opzioni, consultare il riferimento API.

Conclusioni

Ora hai a disposizione un metodo completo e pronto per la produzione per convertire MPP in XLSX in Node.JS utilizzando l’Aspose.CAD Cloud SDK for Node.js. L’SDK gestisce l’autenticazione, l’archiviazione dei file e la generazione dei report, consentendoti di concentrarti sull’integrazione dei dati XLSX nella tua logica di business. Ricorda di acquisire una licenza adeguata per l’uso in produzione; i dettagli dei prezzi sono disponibili nella pagina del prodotto e puoi ottenere una licenza temporanea dalla pagina di licenza temporanea. Buon coding!

Domande frequenti

Posso convertire MPP in XLSX in Node.JS senza utilizzare Aspose.CAD Cloud SDK?
Sebbene sia possibile un parser personalizzato, Aspose.CAD Cloud SDK for Node.js fornisce una soluzione testata, affidabile che consente di risparmiare tempo di sviluppo e gestire i casi limite.

Quali tipi di report sono disponibili durante la conversione da MPP a XLSX?
L’API supporta TaskSheet, GanttChart, ResourceSheet e altri. Selezionare un reportType diverso modifica la struttura del file XLSX generato.

Come gestisco file MPP di grandi dimensioni durante la conversione?
Carica file di grandi dimensioni a blocchi utilizzando l’API di storage, monitora lo stato della conversione e trasmetti in streaming il risultato XLSX per evitare un elevato consumo di memoria.

Leggi di più