Microsoft Project-დან პროექტის გრაფიკების გადაყვანა Excel ცხრილებში ხშირად საჭიროა ანგარიშგებისთვის და მონაცემთა ანალიზისთვის. Aspose.CAD Cloud SDK for Node.js საშუალებას აძლევს დეველოპერებს MPP-ის გადაყვანა XLSX ფორმატში Node.JS-ში რამდენიმე ხაზის კოდის საშუალებით. ამ გაკვეთილში ნახავთ, როგორ დავაყენოთ ბიბლიოთეკა, ატვირთოთ MPP ფაილი ღრუბლურ შენახვაში, გენერიროთ 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
}
}
})();
შენიშვნა: ეს კოდის მაგალითი აჩვენებს ძირითად ფუნქციონირებას. თქვენი პროექტში მისი გამოყენებამდე, დარწმუნდით, რომ განაახლეთ ყველა ფაილის ბილიკი და კონფიგურაციის მნიშვნელობები, რათა დაემთხვეს თქვენს რეალურ გარემოს, შემოწმეთ, რომ ყველა საჭირო დამოკიდებულება სწორად დაინსტალირებულია, და სრულად ტესტირეთ თქვენი განვითარების გარემოში. თუ რაიმე პრობლემის kanssa შეხვდეთ, გთხოვთ, მიმართოთ ოფიციალურ დოკუმენტაციას ან დაუკავშირდეთ მხარდაჭერის გუნდს დახმარებისთვის.
cURL-ით REST API-ის გამოყენება 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
თითოეული endpoint-ის შესახებ მეტი დეტალებისთვის, იხილეთ ოფიციალური API დოკუმენტაცია.
Node.JS-ში MPP-ის XLSX-ში გადაყვანა როგორ მუშაობს
განხორციელება შეიძლება დაყოფილი იყოს შემდეგ ნაბიჯებზე:
-
ავთენტიკაციის კონფიგურაცია -
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 ფაილის ატვირთვა - ფაილი წაიკითხება ბუფერში და იგზავნება
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);
ეს ნაბიჯები აჩვენებს ნაბიჯნაბიჯ დიდი MPP ფაილების XLSX ფორმატში გადაყვანის სამუშაო ნაკადს Node.JS-ში, რომელიც შეიძლება ადაპტირდეს სხვა ანგარიშის ტიპებისთვის, როგორიცაა GanttChart ან ResourceSheet.
მოთხოვნები და დაყენება for Aspose.CAD Cloud SDK
- Node.js ვერსია - დარწმუნდით, რომ იყენებთ Node.js 14 ან უფრო ახალ ვერსიას.
- SDK-ის ინსტალაცია - გამოიყენეთ npm პაკეტის თქვენს პროექტში დასამატებლად.
პაკეტი ხელმისაწვდომია ოფიციალურ ჩამოტვირთვის გვერდი.
npm install @asposecloud/aspose-cad-cloud - Aspose Cloud ანგარიშის შექმნა - მიიღეთ
clientIdდაclientSecretAspose Cloud dashboard-დან. - გარემოს ცვლადების დაყენება (არასავალდებულო, თუმცა რეკომენდირებულია) რათა იდენტიფიკატორები არ დარჩეს წყაროს კოდში.
ამ წინაპირობებით, შეგიძლიათ გაუშვათ ადრე ნაჩვენები სრული კოდის მაგალითი.
გადაყვანის პარამეტრები და არჩევანი
Tasks API რამდენიმე პარამეტრს სთავაზობს, რომელიც გავლენას ახდენს გამოტანაზე:
reportType- ექსპორტის მონაცემის ტიპს განსაზღვრავს. არჩევანის შორისააTaskSheet,GanttChart,ResourceSheetდა სხვა. მაგალითში გამოიყენებაTaskSheet, რათა მიიღოთ ბრტყელი დავალებების სია XLSX ფორმატში.format- ამჟამად მხარდაჭერილიაxlsx,pdf,html. მნიშვნელობის შეცვლით შეგიძლიათ შეცვალოთ გამომავალი ფაილის ტიპი.folder- განსაზღვრავს ღრუბლოვანი საცავის საქაღალდეს, სადაც მდებარეობს წყარო MPP. საჭიროების მიხედვით დააკორექტირეთ თქვენი პროექტის სტრუქტურასთან.
პარამეტრების სრულ სიას, იხილეთ API-ის დოკუმენტაცია.
დასკვნა
თქვენ ახლა გაქვთ სრულყოფილი, წარმოებისთვის მზად მეთოდი MPP-ს XLSX-ში გადაყვანის Node.JS-ში Aspose.CAD Cloud SDK for Node.js-ის გამოყენებით Aspose.CAD Cloud SDK for Node.js. SDK-მა ახორციელებს აუტენტიფიკაციას, ფაილების შენახვას და ანგარიშის გენერაციას, რაც საშუალებას გაძლევთ დაიცვათ XLSX მონაცემების ინტეგრირება თქვენს ბიზნეს ლოგიკაში. გახსოვდეთ, რომ მიიღოთ შესაბამისი ლიცენზია წარმოებისთვის; ფასის დეტალები ხელმისაწვდომია პროდუქტის გვერდზე და შეგიძლიათ მიიღოთ დროებით ლიცენზია temporary license page. ბედნიერი კოდირება!
ხშირად დასმული კითხვები
შეიძლება MPP-ს XLSX-ში გადაყვანა Node.JS-ში Aspose.CAD Cloud SDK-ის გამოყენების გარეშე?
მიუხედავად იმისა, რომ პერსონალური პარსერი შესაძლებელია, Aspose.CAD Cloud SDK for Node.js სთავაზობს გამოცდილი, საიმედო გადაწყვეტას, რომელიც დროის დაზოგვას უზრუნველყოფს და განუწყვეტლივ შემთხვევებს მოიცავს.
MPP-ს XLSX-ში გადაყვანისას რა ანგარიშის ტიპებია ხელმისაწვდომი?
API-ს მხარდაჭერილია TaskSheet, GanttChart, ResourceSheet და სხვა. განსხვავებული reportType-ის არჩევა ცვლის გენერირებულ XLSX ფაილის სტრუქტურას.
როგორ დავამუშავო დიდი MPP ფაილები კონვერტაციისას?
ატვირთეთ დიდი ფაილები ნაწილებად, გამოიყენეთ storage API, მონიტორინგი კონვერტაციის სტატუსის, და ნაკადის სახით გადმოწერეთ XLSX შედეგი, რათა თავიდან აიცილოთ მაღალი მეხსიერების მოხმარება.