Chuyển đổi lịch trình dự án từ Microsoft Project sang bảng tính Excel là một nhu cầu thường gặp cho việc báo cáo và phân tích dữ liệu. Aspose.CAD Cloud SDK for Node.js cho phép các nhà phát triển chuyển đổi MPP sang XLSX trong Node.JS chỉ với vài dòng mã. Trong hướng dẫn này, bạn sẽ thấy cách thiết lập thư viện, tải lên tệp MPP lên lưu trữ đám mây, tạo báo cáo bảng công việc XLSX và lấy kết quả. Hướng dẫn cũng cung cấp các lệnh cURL tương đương cho người dùng REST API. Khi hoàn thành, bạn sẽ sẵn sàng tích hợp chuyển đổi MPP sang XLSX vào các ứng dụng Node.JS của mình.
Ví dụ Hoạt Động Đầy Đủ để Chuyển đổi MPP sang XLSX trong Node.JS
Ví dụ này minh họa cách tải lên tệp MPP, yêu cầu báo cáo bảng công việc dạng XLSX và tải xuống kết quả bằng 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: Ví dụ mã này trình bày chức năng cốt lõi. Trước khi sử dụng trong dự án của bạn, hãy chắc chắn cập nhật mọi đường dẫn tệp và giá trị cấu hình để phù hợp với môi trường thực tế của bạn, xác minh rằng tất cả các phụ thuộc cần thiết đã được cài đặt đúng cách, và kiểm tra kỹ lưỡng trong môi trường phát triển. Nếu bạn gặp bất kỳ vấn đề nào, vui lòng tham khảo tài liệu chính thức hoặc liên hệ với đội hỗ trợ để được trợ giúp.
Sử dụng REST API với cURL để chuyển đổi MPP sang XLSX
Dưới đây là các lệnh cURL thực hiện các bước tương tự như mã Node.js, sử dụng Aspose.Tasks Cloud REST API.
- Nhận token truy cập - thay thế
YOUR_CLIENT_IDvàYOUR_CLIENT_SECRETbằng thông tin xác thực của bạn.
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"
- Tải lên tệp MPP nguồn - lưu token từ bước trước vào
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"
- Yêu cầu báo cáo bảng công việc 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
- Tải xuống tệp XLSX đã tạo (lệnh trước đã lưu nó cục bộ, nhưng bạn cũng có thể truy xuất nó trực tiếp).
curl -X GET "https://api.aspose.cloud/v4.0/storage/file/Temp/project.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o project.xlsx
Để biết thêm chi tiết về mỗi endpoint, xem tài liệu tham chiếu API chính thức.
Cách Chuyển Đổi MPP sang XLSX trong Node.JS Hoạt Động
Việc triển khai có thể được chia thành các bước sau:
- Cấu hình xác thực - Đối tượng
ConfigurationchứaclientIdvàclientSecret.
const config = new Configuration({
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET'
});
- Tạo client API -
ApiClientđược khởi tạo với cấu hình và được truyền choTasksApivàStorageApi.
const apiClient = new ApiClient(config);
const tasksApi = new TasksApi(apiClient);
const storageApi = new StorageApi(apiClient);
- Tải lên tệp MPP - Tệp được đọc vào bộ đệm và gửi qua
storageApi.uploadFile.
const fileBuffer = fs.readFileSync(localInputPath);
await storageApi.uploadFile({ path: `${remoteFolder}/${remoteFileName}`, file: fileBuffer });
- Yêu cầu báo cáo XLSX - Gọi
tasksApi.getTaskReportvớireportType: 'TaskSheet'vàformat: 'xlsx'.
const reportResponse = await tasksApi.getTaskReport({
name: remoteFileName,
folder: remoteFolder,
reportType: 'TaskSheet',
format: 'xlsx'
});
- Lưu kết quả cục bộ - Nội dung phản hồi nhị phân được ghi vào
project.xlsx.
fs.writeFileSync(localOutputPath, reportResponse.body);
Các bước này minh họa một quy trình BƯỚC NHẤT BƯỚC CHUYỂN ĐỔI TẬP TIN MPP LỚN SANG XLSX TRONG Node.JS có thể được điều chỉnh cho các loại báo cáo khác như GanttChart hoặc ResourceSheet.
Yêu cầu trước và Cài đặt cho Aspose.CAD Cloud SDK
- Phiên bản Node.js - Đảm bảo bạn đang chạy Node.js 14 trở lên.
- Cài đặt SDK - Sử dụng npm để thêm gói vào dự án của bạn.
Gói này có sẵn trên trang tải xuống chính thức.
npm install @asposecloud/aspose-cad-cloud - Tạo tài khoản Aspose Cloud - Lấy
clientIdvàclientSecrettừ bảng điều khiển Aspose Cloud. - Thiết lập biến môi trường (tùy chọn nhưng được khuyến nghị) để giữ thông tin đăng nhập ra khỏi mã nguồn.
Khi đã đáp ứng các điều kiện tiên quyết này, bạn có thể chạy ví dụ mã đầy đủ được trình bày ở trên.
Tùy chọn và Cài đặt chuyển đổi
API Nhiệm vụ cung cấp một số tham số ảnh hưởng đến đầu ra:
reportType- Xác định loại dữ liệu được xuất. Các tùy chọn bao gồmTaskSheet,GanttChart,ResourceSheet, v.v. Ví dụ sử dụngTaskSheetđể tạo danh sách nhiệm vụ phẳng dưới dạng XLSX.format- Hiện đang hỗ trợxlsx,pdf,html. Thay đổi giá trị này sẽ chuyển đổi loại tệp đầu ra.folder- Chỉ định thư mục lưu trữ đám mây nơi tệp MPP nguồn nằm. Điều chỉnh theo nhu cầu cho cấu trúc dự án của bạn.
Để xem danh sách đầy đủ các tùy chọn, tham khảo API reference.
Kết luận
Bây giờ bạn đã có một phương pháp hoàn chỉnh, sẵn sàng cho môi trường sản xuất để chuyển đổi MPP sang XLSX trong Node.JS bằng cách sử dụng Aspose.CAD Cloud SDK for Node.js. SDK xử lý việc xác thực, lưu trữ tệp và tạo báo cáo, cho phép bạn tập trung vào việc tích hợp dữ liệu XLSX vào logic nghiệp vụ của mình. Hãy nhớ mua giấy phép phù hợp cho việc sử dụng trong sản xuất; chi tiết giá cả có trên trang sản phẩm và bạn có thể nhận giấy phép tạm thời từ trang giấy phép tạm thời. Chúc bạn lập trình vui vẻ!
Câu hỏi thường gặp
Tôi có thể chuyển đổi MPP sang XLSX trong Node.JS mà không sử dụng Aspose.CAD Cloud SDK không?
Trong khi có thể tạo bộ phân tích tùy chỉnh, Aspose.CAD Cloud SDK for Node.js cung cấp một giải pháp đã được kiểm chứng, đáng tin cậy, giúp tiết kiệm thời gian phát triển và xử lý các trường hợp biên.
Các loại báo cáo nào có sẵn khi chuyển đổi MPP sang XLSX?
API hỗ trợ TaskSheet, GanttChart, ResourceSheet, và các loại khác. Việc chọn một reportType khác sẽ thay đổi cấu trúc của tệp XLSX được tạo.
Làm thế nào để tôi xử lý các tệp MPP lớn trong quá trình chuyển đổi?
Tải lên các tệp lớn theo từng phần bằng cách sử dụng API lưu trữ, giám sát trạng thái chuyển đổi và truyền trực tiếp kết quả XLSX để tránh tiêu thụ bộ nhớ cao.