Η μετατροπή των προγραμματισμών έργων από το Microsoft Project σε λογιστικά φύλλα Excel είναι μια συχνή ανάγκη για αναφορές και ανάλυση δεδομένων. Aspose.CAD Cloud SDK for Node.js επιτρέπει στους προγραμματιστές να μετατρέπουν MPP σε XLSX στο Node.JS με λίγες μόνο γραμμές κώδικα. Σε αυτό το σεμινάριο θα δείτε πώς να ρυθμίσετε τη βιβλιοθήκη, να ανεβάσετε ένα αρχείο MPP στην αποθήκη cloud, να δημιουργήσετε μια αναφορά φύλλου εργασιών XLSX και να ανακτήσετε το αποτέλεσμα. Ο οδηγός παρέχει επίσης ισοδύναμες εντολές cURL για χρήστες του REST API. Στο τέλος θα είστε έτοιμοι να ενσωματώσετε τη μετατροπή MPP σε XLSX στις εφαρμογές Node.JS σας.
Πλήρες Παράδειγμα Λειτουργίας για τη Μετατροπή MPP σε XLSX στο Node.JS
Αυτό το παράδειγμα δείχνει πώς να ανεβάσετε ένα αρχείο MPP, να ζητήσετε μια αναφορά φύλλου εργασίας XLSX και να κατεβάσετε το αποτέλεσμα χρησιμοποιώντας το 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
}
}
})();
Σημείωση: Αυτό το παράδειγμα κώδικα παρουσιάζει τη βασική λειτουργικότητα. Πριν το χρησιμοποιήσετε στο έργο σας, βεβαιωθείτε ότι έχετε ενημερώσει τυχόν διαδρομές αρχείων και τιμές ρυθμίσεων ώστε να ταιριάζουν με το πραγματικό σας περιβάλλον, επαληθεύστε ότι όλες οι απαιτούμενες εξαρτήσεις είναι σωστά εγκατεστημένες και δοκιμάστε εκτενώς στο περιβάλλον ανάπτυξής σας. Εάν αντιμετωπίσετε προβλήματα, παρακαλούμε ανατρέξτε στην επίσημη τεκμηρίωση ή επικοινωνήστε με την ομάδα υποστήριξης για βοήθεια.
Χρήση REST API με cURL για μετατροπή MPP σε XLSX
Ακολουθούν οι εντολές cURL που εκτελούν τα ίδια βήματα με τον κώδικα Node.js, χρησιμοποιώντας το Aspose.Tasks Cloud REST API.
- Αποκτήστε ένα διακριτικό πρόσβασης - αντικαταστήστε
YOUR_CLIENT_IDκαιYOUR_CLIENT_SECRETμε τα διαπιστευτήριά σας.
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"
- Ανεβάστε το αρχικό αρχείο MPP - αποθηκεύστε το διακριτικό από το προηγούμενο βήμα στο
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"
- Ζητήστε την αναφορά φύλλου εργασίας 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
- Κατεβάστε το παραγόμενο αρχείο XLSX (η προηγούμενη εντολή το αποθηκεύει ήδη τοπικά, αλλά μπορείτε επίσης να το ανακτήσετε απευθείας).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o project.xlsx
Για περισσότερες λεπτομέρειες σχετικά με κάθε τελικό σημείο, δείτε την επίσημη αναφορά API.
Πώς λειτουργεί η μετατροπή MPP σε XLSX στο Node.JS
Η υλοποίηση μπορεί να χωριστεί στα ακόλουθα βήματα:
-
Διαμόρφωση ελέγχου ταυτότητας - Το αντικείμενο
ConfigurationπεριέχειclientIdκαιclientSecret.const config = new Configuration({ clientId: 'YOUR_CLIENT_ID', clientSecret: 'YOUR_CLIENT_SECRET' }); -
Δημιουργία πελατών API - Το
ApiClientδημιουργείται με τη διαμόρφωση και περνάται στοTasksApiκαι στοStorageApi.const apiClient = new ApiClient(config); const tasksApi = new TasksApi(apiClient); const storageApi = new StorageApi(apiClient); -
Μεταφόρτωση του αρχείου MPP - Το αρχείο διαβάζεται σε buffer και αποστέλλεται μέσω του
storageApi.uploadFile.const fileBuffer = fs.readFileSync(localInputPath); await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer }); -
Αίτηση του αναφοράς XLSX - Καλείται το
tasksApi.getTaskReportμεreportType: 'TaskSheet'καιformat: 'xlsx'.const reportResponse = await tasksApi.getTaskReport({ name: remoteFileName, folder: remoteFolder, reportType: 'TaskSheet', format: 'xlsx' }); -
Αποθήκευση του αποτελέσματος τοπικά - Το δυαδικό σώμα της απόκρισης γράφεται στο
project.xlsx.fs.writeFileSync(localOutputPath, reportResponse.body);
Αυτά τα βήματα απεικονίζουν μια STEP by STEP Convert Large MPP Files to XLSX in Node.JS ροή εργασίας που μπορεί να προσαρμοστεί για άλλους τύπους αναφορών όπως το GanttChart ή το ResourceSheet.
Προαπαιτούμενα και Ρύθμιση για Aspose.CAD Cloud SDK
- Node.js version - Βεβαιωθείτε ότι εκτελείτε Node.js 14 ή νεότερο.
- Install the SDK - Χρησιμοποιήστε npm για να προσθέσετε το πακέτο στο έργο σας.
Το πακέτο είναι διαθέσιμο από την επίσημη σελίδα λήψης.
npm install @asposecloud/aspose-cad-cloud - Create an Aspose Cloud account - Λάβετε
clientIdκαιclientSecretαπό τον πίνακα ελέγχου Aspose Cloud. - Set up environment variables (προαιρετικό αλλά συνιστάται) για να διατηρήσετε τα διαπιστευτήρια εκτός του κώδικα.
Με την ικανοποίηση αυτών των προαπαιτήσεων, μπορείτε να εκτελέσετε το πλήρες παράδειγμα κώδικα που εμφανίστηκε νωρίτερα.
Επιλογές Μετατροπής και Ρυθμίσεις
Το API Tasks προσφέρει αρκετές παραμέτρους που επηρεάζουν την έξοδο:
reportType- Καθορίζει το είδος των δεδομένων που εξάγονται. Οι επιλογές περιλαμβάνουνTaskSheet,GanttChart,ResourceSheetκ.λπ. Το παράδειγμα χρησιμοποιεί τοTaskSheetγια να δημιουργήσει μια επίπεδη λίστα εργασιών σε XLSX.format- Προς το παρόν υποστηρίζειxlsx,pdf,html. Η αλλαγή αυτής της τιμής αλλάζει τον τύπο του αρχείου εξόδου.folder- Καθορίζει το φάκελο αποθήκευσης στο cloud όπου βρίσκεται το πηγαίο MPP. Προσαρμόστε το ανάλογα με τη δομή του έργου σας.
Για μια πλήρη λίστα επιλογών, ανατρέξτε στην αναφορά API.
Συμπεράσματα
Τώρα έχετε μια πλήρη, έτοιμη για παραγωγή μέθοδο για μετατροπή MPP σε XLSX στο Node.JS χρησιμοποιώντας το Aspose.CAD Cloud SDK for Node.js. Το SDK διαχειρίζεται τον έλεγχο ταυτότητας, την αποθήκευση αρχείων και τη δημιουργία αναφορών, επιτρέποντάς σας να εστιάσετε στην ενσωμάτωση των δεδομένων XLSX στη λογική της επιχείρησής σας. Θυμηθείτε να αποκτήσετε μια κατάλληλη άδεια για χρήση σε παραγωγή· οι λεπτομέρειες τιμολόγησης είναι διαθέσιμες στη σελίδα του προϊόντος και μπορείτε να αποκτήσετε προσωρινή άδεια από τη σελίδα προσωρινής άδειας. Καλή κωδικοποίηση!
Συχνές Ερωτήσεις
Μπορώ να μετατρέψω MPP σε XLSX στο Node.JS χωρίς να χρησιμοποιήσω το Aspose.CAD Cloud SDK;
Ενώ είναι δυνατός ένας προσαρμοσμένος parser, το Aspose.CAD Cloud SDK for Node.js παρέχει μια δοκιμασμένη, αξιόπιστη λύση που εξοικονομεί χρόνο ανάπτυξης και διαχειρίζεται περιπτώσεις άκρων.
Ποιοι τύποι αναφορών είναι διαθέσιμοι κατά τη μετατροπή MPP σε XLSX;
Το API υποστηρίζει TaskSheet, GanttChart, ResourceSheet και άλλα. Η επιλογή διαφορετικού reportType αλλάζει τη δομή του παραγόμενου αρχείου XLSX.
Πώς να διαχειριστώ μεγάλα αρχεία MPP κατά τη μετατροπή;
Ανεβάστε μεγάλα αρχεία σε τμήματα χρησιμοποιώντας το storage API, παρακολουθήστε την κατάσταση της μετατροπής και κάντε streaming το αποτέλεσμα XLSX για να αποφύγετε την υψηλή κατανάλωση μνήμης.