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.
- Ottieni un token di accesso - sostituisci
YOUR_CLIENT_IDeYOUR_CLIENT_SECRETcon 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"
- 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"
- 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
- 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:
- Configura l’autenticazione - L’oggetto
ConfigurationcontieneclientIdeclientSecret.const config = new Configuration({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET' }); - Crea i client API -
ApiClientviene istanziato con la configurazione e passato aTasksApieStorageApi.const apiClient = new ApiClient(config); const tasksApi = new TasksApi(apiClient); const storageApi = new StorageApi(apiClient); - 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 }); - Richiedi il report XLSX -
tasksApi.getTaskReportviene chiamato conreportType: 'TaskSheet'eformat: 'xlsx'.const reportResponse = await tasksApi.getTaskReport({ name: remoteFileName, folder: remoteFolder, reportType: 'TaskSheet', format: 'xlsx' }); - 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
- Versione Node.js - Assicurati di eseguire Node.js 14 o successivo.
- Installa l’SDK - Usa npm per aggiungere il pacchetto al tuo progetto.
Il pacchetto è disponibile dalla pagina di download ufficiale.
npm install @asposecloud/aspose-cad-cloud - Crea un account Aspose Cloud - Ottieni
clientIdeclientSecretdalla dashboard di Aspose Cloud. - 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 includonoTaskSheet,GanttChart,ResourceSheet, ecc. L’esempio utilizzaTaskSheetper produrre un elenco di attività piatto in XLSX.format- Attualmente supportaxlsx,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.