La conversion des plannings de projet de Microsoft Project en feuilles de calcul Excel est un besoin fréquent pour le reporting et l’analyse de données. Aspose.CAD Cloud SDK for Node.js permet aux développeurs de convertir des fichiers MPP en XLSX sous Node.JS avec seulement quelques lignes de code. Dans ce tutoriel, vous verrez comment configurer la bibliothèque, télécharger un fichier MPP vers le stockage cloud, générer un rapport de feuille de tâches XLSX et récupérer le résultat. Le guide fournit également les commandes cURL équivalentes pour les utilisateurs de l’API REST. À la fin, vous serez prêt à intégrer la conversion MPP vers XLSX dans vos applications Node.JS.
Exemple complet de conversion MPP vers XLSX en Node.JS
Cet exemple montre comment télécharger un fichier MPP, demander un rapport de feuille de tâches au format XLSX et télécharger le résultat en utilisant l’API Aspose.Tasks Cloud.
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
}
}
})();
Note : Cet exemple de code démontre la fonctionnalité principale. Avant de l’utiliser dans votre projet, assurez‑vous de mettre à jour tous les chemins de fichiers et les valeurs de configuration pour qu’ils correspondent à votre environnement réel, vérifiez que toutes les dépendances requises sont correctement installées et testez soigneusement dans votre environnement de développement. Si vous rencontrez des problèmes, veuillez consulter la documentation officielle ou contacter l’équipe de support pour obtenir de l’aide.
Utilisation de l’API REST avec cURL pour la conversion MPP en XLSX
Voici les commandes cURL qui exécutent les mêmes étapes que le code Node.js, en utilisant l’API REST Aspose.Tasks Cloud.
- Obtenez un jeton d’accès - remplacez
YOUR_CLIENT_IDetYOUR_CLIENT_SECRETpar vos informations d’identification.
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"
- Télécharger le fichier MPP source - stockez le jeton de l’étape précédente dans
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"
- Demander le rapport de feuille de tâches 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
- Télécharger le fichier XLSX généré (la commande précédente l’enregistre déjà localement, mais vous pouvez également le récupérer directement).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o project.xlsx
Pour plus de détails sur chaque point de terminaison, consultez la référence API officielle.
Comment la conversion de MPP en XLSX fonctionne en Node.JS
L’implémentation peut être décomposée en les étapes suivantes :
-
Configurer l’authentification - L’objet
ConfigurationcontientclientIdetclientSecret.const config = new Configuration({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET' }); -
Créer des clients API -
ApiClientest instancié avec la configuration et transmis àTasksApietStorageApi.const apiClient = new ApiClient(config); const tasksApi = new TasksApi(apiClient); const storageApi = new StorageApi(apiClient); -
Téléverser le fichier MPP - Le fichier est lu dans un tampon et envoyé via
storageApi.uploadFile.const fileBuffer = fs.readFileSync(localInputPath); await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer }); -
Demander le rapport XLSX -
tasksApi.getTaskReportest appelé avecreportType: 'TaskSheet'etformat: 'xlsx'.const reportResponse = await tasksApi.getTaskReport({ name: remoteFileName, folder: remoteFolder, reportType: 'TaskSheet', format: 'xlsx' }); -
Enregistrer le résultat localement - Le corps de la réponse binaire est écrit dans
project.xlsx.fs.writeFileSync(localOutputPath, reportResponse.body);
Ces étapes illustrent un flux de travail ÉTAPE PAR ÉTAPE Convertir de gros fichiers MPP en XLSX dans Node.JS qui peut être adapté à d’autres types de rapports tels que GanttChart ou ResourceSheet.
Pré-requis et configuration pour Aspose.CAD Cloud SDK
- Version de Node.js - Assurez‑vous d’utiliser Node.js 14 ou une version ultérieure.
- Installer le SDK - Utilisez npm pour ajouter le package à votre projet.
Le package est disponible sur la page de téléchargement officielle.
npm install @asposecloud/aspose-cad-cloud - Créer un compte Aspose Cloud - Obtenez
clientIdetclientSecretdepuis le tableau de bord Aspose Cloud. - Configurer les variables d’environnement (optionnel mais recommandé) pour garder les informations d’identification hors du code source.
Une fois ces prérequis remplis, vous pouvez exécuter l’exemple complet de code présenté précédemment.
Options de conversion et paramètres
L’API Tasks propose plusieurs paramètres qui influencent la sortie :
reportType- Détermine le type de données exportées. Les options incluentTaskSheet,GanttChart,ResourceSheet, etc. L’exemple utiliseTaskSheetpour produire une liste de tâches plate au format XLSX.format- Prend actuellement en chargexlsx,pdf,html. Modifier cette valeur change le type de fichier de sortie.folder- Spécifie le dossier de stockage cloud où se trouve le fichier MPP source. Ajustez-le selon la structure de votre projet.
Pour une liste complète des options, consultez la référence API.
Conclusion
Vous disposez maintenant d’une méthode complète, prête pour la production, pour convertir MPP en XLSX dans Node.JS en utilisant le Aspose.CAD Cloud SDK for Node.js. Le SDK gère l’authentification, le stockage des fichiers et la génération de rapports, vous permettant de vous concentrer sur l’intégration des données XLSX dans votre logique métier. N’oubliez pas d’obtenir une licence appropriée pour une utilisation en production ; les détails de tarification sont disponibles sur la page du produit et vous pouvez obtenir une licence temporaire depuis la page de licence temporaire. Bon codage !
Questions fréquentes
Puis-je convertir MPP en XLSX dans Node.JS sans utiliser Aspose.CAD Cloud SDK ?
Bien qu’un analyseur personnalisé soit possible, Aspose.CAD Cloud SDK for Node.js fournit une solution testée et fiable qui fait gagner du temps de développement et gère les cas limites.
Quels types de rapports sont disponibles lors de la conversion de MPP en XLSX ?
L’API prend en charge TaskSheet, GanttChart, ResourceSheet, et plus encore. La sélection d’un reportType différent modifie la structure du fichier XLSX généré.
Comment gérer les gros fichiers MPP lors de la conversion ?
Téléchargez les gros fichiers par morceaux à l’aide de l’API de stockage, surveillez l’état de la conversion et diffusez le résultat XLSX en continu pour éviter une forte consommation de mémoire.