การแปลงกำหนดการโครงการจาก 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, ขอรายงาน task‑sheet ในรูปแบบ 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
        }
    }
})();

Note: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบให้แน่ใจว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ถูกติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดอ้างอิงที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม ทีมสนับสนุน เพื่อขอความช่วยเหลือ.

การใช้ 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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับแต่ละ endpoint โปรดดู อ้างอิง 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);
    

ขั้นตอนเหล่านี้แสดงให้เห็นถึงกระบวนการทำงาน ขั้นตอนโดยละเอียดแปลงไฟล์ MPP ขนาดใหญ่เป็น XLSX ใน Node.JS ที่สามารถปรับใช้กับประเภทรายงานอื่น ๆ เช่น GanttChart หรือ ResourceSheet

ข้อกำหนดเบื้องต้นและการตั้งค่าสำหรับ Aspose.CAD Cloud SDK

  1. Node.js version - ตรวจสอบว่าคุณกำลังใช้ Node.js เวอร์ชัน 14 หรือใหม่กว่า.
  2. Install the SDK - ใช้ npm เพื่อติดตั้งแพ็กเกจในโปรเจกต์ของคุณ.
    npm install @asposecloud/aspose-cad-cloud
    
    แพ็กเกจนี้พร้อมให้ดาวน์โหลดจากหน้า หน้าดาวน์โหลด.
  3. Create an Aspose Cloud account - รับ clientId และ clientSecret จากแดชบอร์ดของ Aspose Cloud.
  4. Set up environment variables (optional but recommended) - ตั้งค่าตัวแปรสภาพแวดล้อม (เป็นตัวเลือกแต่แนะนำ) เพื่อเก็บข้อมูลรับรองให้ห่างจากโค้ดต้นฉบับ.

เมื่อทำตามข้อกำหนดเบื้องต้นเหล่านี้แล้ว คุณสามารถรันตัวอย่างโค้ดเต็มที่แสดงไว้ก่อนหน้านี้ได้

ตัวเลือกและการตั้งค่าการแปลง

Tasks API มีพารามิเตอร์หลายตัวที่มีผลต่อผลลัพธ์:

  • reportType - กำหนดประเภทของข้อมูลที่ส่งออก ตัวเลือกรวมถึง TaskSheet, GanttChart, ResourceSheet เป็นต้น ตัวอย่างใช้ TaskSheet เพื่อสร้างรายการงานแบบแบนในรูปแบบ XLSX.
  • format - ปัจจุบันรองรับ xlsx, pdf, html. การเปลี่ยนค่าตัวนี้จะสลับประเภทไฟล์ผลลัพธ์.
  • folder - ระบุโฟลเดอร์ในคลาวด์สตอเรจที่ไฟล์ MPP ต้นทางอยู่ ปรับตามความต้องการของโครงสร้างโปรเจกต์ของคุณ.

สำหรับรายการตัวเลือกทั้งหมด ให้ดูที่ API reference.

สรุป

ตอนนี้คุณมีวิธีที่ครบถ้วนและพร้อมใช้งานในระดับการผลิตเพื่อ แปลง 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 เพื่อหลีกเลี่ยงการใช้หน่วยความจำสูง

อ่านเพิ่มเติม