Конвертація графіків проектів з 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, використовуючи REST API Aspose.Tasks Cloud.
- Отримайте токен доступу - замініть
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
Для отримання докладної інформації про кожну кінцеву точку, перегляньте офіційну довідку API.
Як працює конвертація 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 під час конвертації?
Завантажуйте великі файли частинами за допомогою API сховища, стежте за статусом конвертації та транслюйте результат у форматі XLSX, щоб уникнути високого споживання пам’яті.