MPP до XER

MPP є одним із основних форматів Microsoft Project, який часто використовується для зберігання робочих навантажень, розкладів і фінансів. З раннього випуску Microsoft Project у 1984 році він використовується для керування проектами, розробки графіків, встановлення бюджетів і розподілу ресурсів. Таким чином, формат MPP є рідним типом файлу, пов’язаним із Microsoft Project, і зберігає інформацію про проект під час збереження проекту. Подібним чином, формат файлу XER є власним форматом файлу проекту, який використовується програмою для планування та керування проектами Primavera P6. Тож у випадку, якщо є вимога конвертувати файли MPP в інший формат, нам потрібно або встановити та налаштувати локальне рішення, або вибрати хмарне рішення.

API обробки Microsoft Project

Microsoft Project і Primavera P6 є одними з популярних форматів файлів, які використовуються для проектних призначень, завдань, ресурсів, календарів, атрибутів і інформації про планування. Щоб полегшити нашим клієнтам програмну обробку цих документів, ми розробили API Aspose.Tasks Cloud, який є рішенням на основі REST, яке дозволяє отримувати елементи призначень проекту, додавати нові призначення до проектів, отримувати всі завдання проекту, змінювати позицію завдання, додавати календар до проекту, отримувати масштабовані за часом дані та багато іншого. Виконуйте всі ці операції без встановлення стороннього програмного забезпечення.

Крім того, ми розробили Aspose.Tasks Cloud SDK для .NET, який є обгорткою Aspose.Tasks Cloud і дає змогу реалізувати всі завдання, пов’язані з керуванням проектами, у програмі .NET.

монтаж

Щоб використовувати .NET Cloud SDK, спочатку потрібно встановити його в системі. Його можна завантажити через NuGet і GitHub. Будь ласка, виконайте таку команду в терміналі, щоб інсталювати SDK через NuGet:

nuget install Aspose.Tasks-Cloud

Якщо вам потрібно встановити з NuGet Package Manager, виконайте таку команду:

PM> Install-Package Aspose.Tasks-Cloud

Підхід Visual Studio

Іншим підходом є встановлення безпосередньо в Visual Studio:

  1. Відкрийте провідник рішень.
  2. Розгорніть проект і клацніть правою кнопкою миші папку Packages у своєму рішенні.
  3. Виберіть параметр «Керувати пакетами NuGet…».
  4. Натисніть на вкладку «Огляд» і знайдіть «Aspose.Tasks-Cloud».
  5. Установіть прапорець поруч із пакетом Aspose.Tasks-Cloud, виберіть відповідну версію на правій вкладці та натисніть кнопку «Додати пакет».
Зображення 1: - Aspose.Tasks-Cloud як пакет NuGet.

Зображення 1: - Aspose.Tasks-Cloud як пакет NuGet.

Безкоштовна підписка на Cloud

Щоб отримати доступ до хмарних API, нам потрібно спочатку створити обліковий запис безкоштовної хмарної підписки. Так, ви правильно почули. Обліковий запис безкоштовної підписки, що надає до 150 безкоштовних запитів на обробку документів. Кредитна картка чи інші платіжні реквізити не потрібні. Тому, щоб завершити цей процес, відвідайте інформаційну панель Aspose.Cloud. Якщо у вас є обліковий запис GitHub або Google, просто зареєструйтеся. В іншому випадку натисніть кнопку Створити новий обліковий запис і надайте необхідну інформацію. Тепер увійдіть на інформаційну панель, використовуючи облікові дані, розгорніть розділ «Програми» на інформаційній панелі та прокрутіть униз до розділу «Облікові дані клієнта», щоб переглянути дані про ідентифікатор клієнта та секрет клієнта.

Облікові дані клієнта

Зображення 2: облікові дані клієнта на інформаційній панелі Aspose.Cloud.

MPP до XER на C#

Виконайте наведені нижче кроки, щоб виконати перетворення файлу MPP у програму Primavera P6 XER у C# .NET.

  • Перш за все, створіть об’єкт конфігурації, надаючи дані про ідентифікатор клієнта та секрет клієнта.
  • По-друге, створіть об’єкт TasksApi, передаючи об’єкт конфігурації як аргумент.
  • По-третє, прочитайте файл MPP з локального диска та завантажте його в хмарне сховище за допомогою методу UploadFile(..) TasksApi.
  • Тепер створіть об’єкт GetTaskDocumentWithFormatRequest, де ми визначаємо вхідне ім’я MPP і результуючий формат із переліку ProjectFileFormat.
  • Потім ми викликаємо метод GetTaskDocumentWithFormat(…) TasksApi, щоб ініціювати процес перетворення.
  • Нарешті по порядку. щоб зберегти результат XER на локальному диску, ми використовуємо об’єкт File.Create всередині методу saveToDisk(…).
// Отримайте ClientID з https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// створити об'єкт конфігурації
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// ініціалізувати об'єкт Aspose.Tasks
var tasksApi = new TasksApi(config);

String inputFile = "Home move plan.mpp";
String resultant = "Output.xer";

try
{
    // читати вхідний файл MPP з локального сховища
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // завантажити файл у хмарне сховище
        tasksApi.UploadFile(uploadFileRequest);
    }

    // ініціалізувати процес перетворення MPP у XER
    var response = tasksApi.GetTaskDocumentWithFormat(new GetTaskDocumentWithFormatRequest
    {
        Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Xer,
        Name = inputFile,
        Folder = null,
    });

    if (response != null )
    {
        Console.WriteLine("Successfully converted MPP to XER !");
    }

    // збережіть отриманий файл на локальному диску
    saveToDisk(response, "/Users/nshahbaz/Downloads/" + resultant);
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

public static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Перетворіть MPP на Primavera P6 за допомогою cURL

Команди cURL є ще одним зручним способом доступу до REST API через термінал командного рядка. Отже, ми також можемо отримати доступ до Aspose.Tasks Cloud за допомогою команд cURL і виконати наші вимоги. Однак перед тим, як отримати доступ до API, нам потрібно згенерувати JSON Web Token (JWT) на основі деталей ClientID і ClientSecret, отриманих з інформаційної панелі Aspose.Cloud. Будь ласка, виконайте таку команду в терміналі, щоб згенерувати маркер JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Після створення маркера JWT виконайте наступну команду, щоб конвертувати файл MPP, доступний у хмарному сховищі, у формат XER.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/Home%20move%20plan.mpp/format?format=xer&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.xer

Використаний файл зразка. наведений вище приклад можна завантажити з Home move plan.mpp.

Висновок

У цій статті ми обговорили кроки щодо перетворення файлу Microsoft Project (MPP) у файл Oracle Primavera P6 XER за допомогою фрагмента коду C# .NET, а також за допомогою команди cURL. Крім того, механізм ліцензування розроблено настільки гнучко, що ви платите лише за інтервал, протягом якого ви користувалися нашими послугами. Крім того, у рамках безкоштовної підписки на обліковий запис ви маєте право отримати до 150 безкоштовних запитів на обробку документів. Отже, коли ви будете задоволені API, ви можете розглянути можливість придбання ліцензії, яка є досить гнучкою. З вас стягується плата лише за запити, які ви зробили до сервера, і вона може становити лише 0,005 доларів США за виклик API. Ви можете відвідати сторінку pricing для отримання додаткової інформації.

Тим не менш, наші хмарні SDKS розроблені згідно з ліцензією MIT, тому їх повний фрагмент коду можна завантажити з GitHub. Якщо у вас виникнуть проблеми під час використання API або у вас є будь-який пов’язаний запит, будь ласка, зв’яжіться через безкоштовний форум підтримки.

Схожі статті

Ми також рекомендуємо відвідати такі посилання, щоб дізнатися більше про: