המרת לוחות זמנים של פרויקטים מ-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.

  1. קבל אסימון גישה - החלף 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"
  1. העלה את קובץ ה‑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"
  1. בקש את דוח משימת ה‑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
  1. הורד את קובץ ה‑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 עובדת

היישום ניתן לחלק לשלבים הבאים:

  1. הגדרת אימות - האובייקט Configuration מכיל clientId ו-clientSecret.
    const config = new Configuration({
        clientId: 'YOUR_CLIENT_ID',
        clientSecret: 'YOUR_CLIENT_SECRET'
    });
    
  2. יצירת לקוחות API - ApiClient נוצר עם ההגדרה ומועבר ל-TasksApi ול-StorageApi.
    const apiClient = new ApiClient(config);
    const tasksApi = new TasksApi(apiClient);
    const storageApi = new StorageApi(apiClient);
    
  3. העלאת קובץ MPP - הקובץ נקרא לתוך באפר ונשלח באמצעות storageApi.uploadFile.
    const fileBuffer = fs.readFileSync(localInputPath);
    await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
    
  4. בקשת דוח XLSX - tasksApi.getTaskReport נקרא עם reportType: 'TaskSheet' ו-format: 'xlsx'.
    const reportResponse = await tasksApi.getTaskReport({
        name: remoteFileName,
        folder: remoteFolder,
        reportType: 'TaskSheet',
        format: 'xlsx'
    });
    
  5. שמירת התוצאה מקומית - גוף התגובה הבינארית נכתב ל-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

  1. גרסת Node.js - ודא שאתה מריץ Node.js 14 או גרסה מאוחרת יותר.
  2. התקנת ה‑SDK - השתמש ב‑npm כדי להוסיף את החבילה לפרויקט שלך.
    npm install @asposecloud/aspose-cad-cloud
    
    החבילה זמינה מהדף הרשמי דף ההורדה.
  3. יצירת חשבון Aspose Cloud - קבל clientId ו‑clientSecret מלוח המחוונים של Aspose Cloud.
  4. הגדרת משתני סביבה (אופציונלי אך מומלץ) כדי לשמור על האישורים מחוץ לקוד המקור.

כאשר דרישות קדם אלו מתקיימות, ניתן להריץ את דוגמת הקוד המלאה שהוצגה קודם.

אפשרויות והגדרות המרה

ממשק ה-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. ה‑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 גדולים במהלך ההמרה?
העלה קבצים גדולים בחלקים באמצעות ממשק ה-Storage API, עקוב אחרי מצב ההמרה, והזרם את תוצאת ה-XLSX כדי למנוע צריכת זיכרון גבוהה.

קרא עוד