تحويل جداول المشاريع من 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
}
}
})();
ملاحظة: يوضح مثال الشيفرة هذا الوظيفة الأساسية. قبل استخدامه في مشروعك، تأكد من تحديث أي مسارات ملفات وقيم التكوين لتتناسب مع بيئتك الفعلية، وتحقق من أن جميع الاعتمادات المطلوبة مثبتة بشكل صحيح، واختبر بدقة في بيئة التطوير الخاصة بك. إذا واجهت أي مشكلات، يرجى الرجوع إلى الوثائق الرسمية أو التواصل مع فريق الدعم للحصول على المساعدة.
استخدام 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
لمزيد من التفاصيل حول كل نقطة نهاية، راجع المرجع الرسمي لواجهة برمجة التطبيقات.
كيف يعمل تحويل 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 - يتم قراءة الملف إلى مخزن مؤقت وإرساله عبر
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.
المتطلبات الأولية والإعداد لـ Aspose.CAD Cloud SDK
- إصدار Node.js - تأكد من أنك تستخدم Node.js 14 أو أحدث.
- تثبيت SDK - استخدم npm لإضافة الحزمة إلى مشروعك.
الحزمة متاحة من صفحة صفحة التحميل الرسمية.
npm install @asposecloud/aspose-cad-cloud - إنشاء حساب Aspose Cloud - احصل على
clientIdوclientSecretمن لوحة تحكم Aspose Cloud. - إعداد متغيرات البيئة (اختياري لكن يُنصح به) للحفاظ على بيانات الاعتماد خارج شفرة المصدر.
مع استيفاء هذه المتطلبات المسبقة، يمكنك تشغيل مثال الشيفرة الكامل المعروض سابقًا.
خيارات التحويل والإعدادات
يقدم 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. يتعامل SDK مع المصادقة وتخزين الملفات وتوليد التقارير، مما يتيح لك التركيز على دمج بيانات XLSX في منطق عملك. تذكر الحصول على ترخيص مناسب للاستخدام في الإنتاج؛ تفاصيل الأسعار متاحة على صفحة المنتج ويمكنك الحصول على ترخيص مؤقت من صفحة الترخيص المؤقت. برمجة سعيدة!
الأسئلة المتكررة
هل يمكنني تحويل MPP إلى XLSX في Node.JS دون استخدام Aspose.CAD Cloud SDK?
في حين أن محللًا مخصصًا ممكنًا، فإن Aspose.CAD Cloud SDK for Node.js يوفر حلاً مختبرًا وموثوقًا يوفر وقت التطوير ويتعامل مع الحالات الحدية.
ما هي أنواع التقارير المتاحة عند تحويل MPP إلى XLSX؟
يدعم API TaskSheet و GanttChart و ResourceSheet والمزيد. اختيار reportType مختلف يغيّر بنية ملف XLSX المُولَّد.
كيف يمكنني التعامل مع ملفات MPP الكبيرة أثناء التحويل؟
قم بتحميل الملفات الكبيرة على دفعات باستخدام واجهة برمجة تطبيقات التخزين، راقب حالة التحويل، وبث نتيجة XLSX لتجنب استهلاك الذاكرة العالي.