MPP sang XER

MPP là một trong những định dạng chính của Microsoft Project thường được sử dụng để lưu trữ khối lượng công việc, lịch trình và tài chính. Kể từ khi Microsoft Project được phát hành vào năm 1984, định dạng này đã được sử dụng để quản lý dự án, lập lịch trình, lập ngân sách và phân bổ nguồn lực. Do đó, định dạng MPP là loại tệp gốc được liên kết với Microsoft Project và lưu trữ thông tin dự án khi lưu dự án. Tương tự như vậy, định dạng tệp XER là định dạng tệp dự án độc quyền được ứng dụng quản lý và lập kế hoạch dự án Primavera P6 sử dụng. Vì vậy, trong trường hợp có yêu cầu chuyển đổi tệp MPP sang định dạng khác, chúng ta cần cài đặt và định cấu hình giải pháp tại chỗ hoặc lựa chọn giải pháp dựa trên đám mây.

API xử lý Microsoft Project

Microsoft Project và Primavera P6 nằm trong số các định dạng tệp phổ biến được sử dụng cho các nhiệm vụ, tác vụ, tài nguyên, lịch, thuộc tính và thông tin lập lịch của dự án. Để tạo điều kiện cho khách hàng của chúng tôi xử lý các tài liệu này theo chương trình, chúng tôi đã phát triển Aspose.Tasks Cloud API, một giải pháp dựa trên REST cho phép bạn nhận các mục nhiệm vụ dự án, thêm các nhiệm vụ mới vào dự án, nhận tất cả các nhiệm vụ của một dự án, thay đổi vị trí nhiệm vụ, thêm lịch vào dự án, nhận dữ liệu theo thời gian và nhiều hơn nữa. Thực hiện tất cả các thao tác này mà không cần cài đặt bất kỳ phần mềm của bên thứ ba nào.

Hơn nữa, chúng tôi đã phát triển Aspose.Tasks Cloud SDK cho .NET là một trình bao bọc xung quanh Aspose.Tasks Cloud và cho phép bạn triển khai tất cả các tác vụ liên quan đến quản lý dự án trong ứng dụng .NET.

Cài đặt

Để sử dụng .NET Cloud SDK, bước đầu tiên là cài đặt nó trên hệ thống. Nó có sẵn để tải xuống qua NuGetGitHub. Vui lòng thực hiện lệnh sau trong terminal để cài đặt SDK qua NuGet:

nuget install Aspose.Tasks-Cloud

Trong trường hợp bạn cần cài đặt từ NuGet Package Manager, vui lòng thực hiện lệnh sau:

PM> Install-Package Aspose.Tasks-Cloud

Phương pháp tiếp cận Visual Studio

Một cách tiếp cận khác là cài đặt trực tiếp trong Visual Studio:

  1. Mở Solution Explorer.
  2. Mở rộng dự án và nhấp chuột phải vào thư mục Packages trong giải pháp của bạn.
  3. Chọn tùy chọn Quản lý gói NuGet…
  4. Nhấp vào tab Browse và tìm kiếm “Aspose.Tasks-Cloud“.
  5. Nhấp vào hộp kiểm bên cạnh gói Aspose.Tasks-Cloud, chọn phiên bản phù hợp ở tab bên phải và nhấp vào nút Thêm gói.
chú thích

Image 1:- Aspose.Tasks-Cloud as NuGet package.

Đăng ký Cloud miễn phí

Để truy cập Cloud API, trước tiên chúng ta cần tạo một tài khoản đăng ký đám mây miễn phí. Vâng, bạn đã nghe đúng rồi đấy. Một tài khoản đăng ký miễn phí cung cấp tới 150 yêu cầu xử lý tài liệu miễn phí. Không yêu cầu thẻ tín dụng hoặc thông tin thanh toán khác. Vì vậy, để hoàn tất quy trình này, vui lòng truy cập Bảng điều khiển Aspose.Cloud. Nếu bạn có tài khoản GitHub hoặc Google, chỉ cần Đăng ký. Nếu không, hãy nhấp vào nút Tạo tài khoản mới và cung cấp thông tin bắt buộc. Bây giờ hãy đăng nhập vào bảng điều khiển bằng thông tin xác thực và mở rộng phần Ứng dụng từ bảng điều khiển và cuộn xuống phần Thông tin xác thực của khách hàng để xem thông tin chi tiết về ID khách hàng và Bí mật khách hàng.

Chứng chỉ khách hàng

Hình ảnh 2: - Thông tin xác thực của khách hàng tại bảng điều khiển Aspose.Cloud.

MPP sang XER trong C#

Vui lòng làm theo các bước dưới đây để thực hiện chuyển đổi tệp MPP sang Primavera P6 XER trong ứng dụng C# .NET.

  • Trước hết, hãy tạo một đối tượng Cấu hình trong khi cung cấp thông tin chi tiết về Client ID và Client Secret.
  • Thứ hai, tạo một đối tượng của TasksApi trong khi truyền đối tượng Cấu hình làm đối số.
  • Thứ ba, đọc tệp MPP từ ổ đĩa cục bộ và tải lên bộ nhớ đám mây bằng phương thức UploadFile(..) của TasksApi.
  • Bây giờ hãy tạo một đối tượng GetTaskDocumentWithFormatRequest trong đó chúng ta định nghĩa tên MPP đầu vào và định dạng kết quả từ phép liệt kê ProjectFileFormat.
  • Sau đó, chúng ta gọi phương thức GetTaskDocumentWithFormat(…) của TasksApi để bắt đầu quá trình chuyển đổi.
  • Cuối cùng, để lưu đầu ra XER trên ổ đĩa cục bộ, chúng ta sử dụng đối tượng File.Create bên trong phương thức saveToDisk(…).
// Lấy ClientID từ https://dashboard.aspose.cloud/
string clientSecret = "caac6e3d4a4724b2feb53f4e460eade3";
string clientID = "4ccf1790-accc-41e9-8d18-a78dbb2ed1aa";

// tạo một đối tượng cấu hình
var config = new Configuration{ AppSid= clientID, AppKey = clientSecret };

// khởi tạo đối tượng Aspose.Tasks
var tasksApi = new TasksApi(config);

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

try
{
    // đọc tệp MPP đầu vào từ bộ nhớ cục bộ
    using (var inputStream = new FileStream("/Users/nshahbaz/Downloads/" + inputFile, FileMode.Open))
    {
        var uploadFileRequest = new PostCreateRequest(inputFile, inputStream);
        
        // tải tập tin lên bộ nhớ đám mây
        tasksApi.UploadFile(uploadFileRequest);
    }

    // khởi tạo quá trình chuyển đổi MPP sang 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 !");
    }

    // lưu tập tin kết quả trên ổ đĩa cục bộ
    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();
}

Chuyển đổi MPP sang Primavera P6 bằng cURL

Các lệnh cURL là một cách thuận tiện khác để truy cập API REST thông qua thiết bị đầu cuối dòng lệnh. Vì vậy, chúng ta cũng có thể truy cập Aspose.Tasks Cloud thông qua các lệnh cURL và hoàn thành các yêu cầu của mình. Tuy nhiên, trước khi truy cập API, chúng ta cần tạo JSON Web Token (JWT) dựa trên thông tin chi tiết ClientID và ClientSecret được lấy từ bảng điều khiển Aspose.Cloud. Vui lòng thực hiện lệnh sau trong thiết bị đầu cuối để tạo mã thông báo 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"

Sau khi mã thông báo JWT được tạo, vui lòng thực hiện lệnh sau để chuyển đổi tệp MPP có trong bộ nhớ đám mây sang định dạng 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

Tệp mẫu được sử dụng trong ví dụ trên có thể được tải xuống từ Home move plan.mpp.

Phần kết luận

Trong bài viết này, chúng tôi đã thảo luận về các bước về cách chuyển đổi tệp Microsoft Project (MPP) sang tệp Oracle Primavera P6 XER bằng đoạn mã C# .NET cũng như sử dụng lệnh cURL. Hơn nữa, cơ chế cấp phép đã được thiết kế rất linh hoạt để bạn chỉ phải trả tiền cho khoảng thời gian bạn đã sử dụng dịch vụ của chúng tôi. Ngoài ra, với đăng ký tài khoản miễn phí, bạn đủ điều kiện nhận tới 150 yêu cầu xử lý tài liệu miễn phí. Vì vậy, khi bạn hài lòng với API, bạn có thể cân nhắc lựa chọn mua giấy phép khá linh hoạt. Bạn chỉ bị tính phí cho các yêu cầu bạn đã gửi đến máy chủ và có thể thấp tới 0,005 đô la/Cuộc gọi API. Bạn có thể truy cập trang giá cả để biết thêm chi tiết.

Tuy nhiên, Cloud SDK của chúng tôi được phát triển theo Giấy phép MIT, do đó, đoạn mã hoàn chỉnh của chúng có thể được tải xuống từ GitHub. Trong trường hợp bạn gặp bất kỳ sự cố nào khi sử dụng API hoặc có bất kỳ thắc mắc liên quan nào, vui lòng liên hệ qua Diễn đàn hỗ trợ miễn phí.

Bài viết liên quan

Chúng tôi cũng khuyên bạn nên truy cập vào các liên kết sau để tìm hiểu thêm về: