Xem trước kế hoạch dự án

Microsoft Project Professional là phần mềm quản lý dự án phổ biến nhất thế giới vì nó giúp các nhà quản lý lập kế hoạch, phân công nhiệm vụ cho các thành viên, theo dõi tiến độ của nhiệm vụ, kiểm soát tài chính và lịch trình, truyền đạt thông tin dự án và tổ chức công việc và nhân lực theo định dạng Cấu trúc phân chia công việc giải thích rõ ràng các nhiệm vụ cho một dự án và phân công chúng cho các nguồn lực cụ thể trong nhóm. Tuy nhiên, để tạo/cập nhật lịch trình/kế hoạch, bạn cần sử dụng phần mềm MS Project Professional, đòi hỏi phải có nỗ lực cài đặt cũng như chi phí cấp phép.

MS Project Professional thay thế

Aspose.Tasks Cloud là một giải pháp tuyệt vời để tạo, thao tác và hiển thị tệp MS Project sang các định dạng được hỗ trợ khác. Giải pháp dựa trên REST API cung cấp tính linh hoạt để sử dụng bất kỳ nền tảng và ngôn ngữ nào bạn chọn để hoàn thành các yêu cầu mong muốn. Nó cho phép người dùng thực hiện việc tạo dự án, lập lịch, quản lý tài nguyên, tác vụ và thuộc tính trên đám mây. API Aspose.Tasks Cloud cung cấp tính linh hoạt để bạn có thể làm việc trực tiếp với các nhiệm vụ dự án, tác vụ dự án, tài nguyên dự án, lịch dự án, ngoại lệ lịch dự án, thuộc tính mở rộng dự án, VBA, dữ liệu theo thời gian và nhiều thuộc tính khác của dự án đám mây.

Định dạng tập tin được hỗ trợ

Aspose.Tasks Cloud cho cURL hỗ trợ các định dạng tệp Microsoft Project (MPT, MPP, MPX) và Primavera P6 (XER, XML) phổ biến. API cũng cung cấp tính năng chuyển đổi các tệp dự án đám mây của bạn sang các định dạng tệp hàng đầu trong ngành bao gồm HTML, PDF, XPS, XLSX, CSV, TXT và các định dạng hình ảnh (BMP, PNG, JPEG, TIFF, SVG).

Tính năng nâng cao

Trong số các tính năng được chỉ định ở trên, Aspose.Tasks Cloud API cũng cung cấp một số tính năng nâng cao như được liệt kê bên dưới

  • Nhập dự án từ cơ sở dữ liệu bao gồm Primavera DB
  • Lên lịch lại tất cả ID nhiệm vụ của dự án, ngày bắt đầu/kết thúc, tính toán thời gian rảnh
  • Nhận dữ liệu theo thời gian hoặc thông tin định kỳ cho một tác vụ cụ thể bằng cách sử dụng UID
  • Thực hiện phân tích rủi ro bằng mô phỏng Monte Carlo và tạo báo cáo
  • Quản lý Cấu trúc phân chia công việc (WBS) của dự án
  • Tính toán lại khối lượng công việc của dự án đã hoàn thành hay chưa hoàn thành
  • Đọc Lịch của Microsoft Project and Calendar Exceptions information.

Cài đặt

Dưới đây là các bước hướng dẫn cách cài đặt Aspose.Tasks Cloud SDK cho .NET trong Visual Studio dành cho máy Mac.

  • Mở rộng cấu trúc dự án trong cửa sổ Solution Explorer.
  • Nhấp chuột phải vào thư mục packages và nhấp vào tùy chọn Manage NuGet packages…
  • Nhập Aspose.Tasks Cloud vào trường tìm kiếm và nhấn phím enter
  • Đánh dấu vào ô bên cạnh Aspose.Tasks Cloud và nhấp vào nút Thêm gói
  • SDK được thêm vào các gói dự án
Quản lý tùy chọn xem trước gói NuGet

Hình ảnh 1:- Xem trước tùy chọn Quản lý gói NuGet

Aspose.Tasks Cloud trong thư viện NuGet

Hình ảnh 2:- Thư viện NuGet liệt kê Aspose.Tasks Cloud

Aspsoe.Tasks Cloud được thêm vào các gói dự án

Hình ảnh 3: - Aspose.Tasks Cloud được thêm vào bộ sưu tập gói dự án.

Đọc Thuộc tính của MS Project

Các thuộc tính này là nơi lưu trữ siêu dữ liệu về các dự án của bạn như Tiêu đề, Chủ đề, Tác giả, Người quản lý, Công ty, từ khóa và mô tả về dự án của bạn. Các thuộc tính này có thể hữu ích khi tìm kiếm dự án của bạn hoặc cho mục đích tham khảo khi bạn hoặc người khác xem lại tệp dự án này sau nhiều tháng hoặc nhiều năm nữa.

Lệnh cURL

Các lệnh cURL có thể được sử dụng để đọc các thuộc tính của dự án trên bất kỳ nền tảng nào bằng cách sử dụng dấu nhắc lệnh/bảng điều khiển. Sử dụng cùng các lệnh cURL, bạn có thể đọc các thuộc tính được liên kết với tệp dự án như được hiển thị bên dưới.

curl -v "https://api.aspose.cloud/oauth2/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=xxx-xxx-xxx&client_secret=xxxxx' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"


curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Yêu cầu URL

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties

API cũng cung cấp tính năng đọc từng thuộc tính riêng lẻ được liên kết với tệp.

curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"

Yêu cầu URL

https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor

Nội dung phản hồi

{
  "Property": {
    "Name": "LastAuthor",
    "Value": "Alexey Zhilin",
    "link": {
      "Href": "/documentProperties/LastAuthor",
      "Rel": "self",
      "Type": null,
      "Title": null
    }
  },
  "Code": 200,
  "Status": "OK"
}

C#.NET

// Để biết ví dụ đầy đủ và tệp mã, vui lòng truy cập https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
const string clientID = "xxxx-xxxx-xxxx-xxxxx";
const string clientSecret = "xxxxxxxxx";

// khởi tạo và đối tượng của TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);

// lấy các thuộc tính liên quan đến tài liệu dự án
var retrievedProperties = tasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
{
    Name = "sample.mpp",
});

// lặp lại danh sách các thuộc tính được lấy từ tài liệu và in giá trị của chúng
for(int counter= 0; counter< retrievedProperties.Result.Properties.List.Count; counter++)
{ 
    Console.WriteLine("Property name at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Name);
    Console.WriteLine("Property value at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Value);
}

Trong trường hợp bạn cần lấy giá trị liên quan đến một thuộc tính nhất định, vui lòng thử sử dụng đoạn mã sau

var response = tasksApi.GetDocumentPropertyAsync(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetDocumentPropertyRequest
{
    Name = "sample.mpp",
    PropertyName = "LastAuthor"
});
Console.WriteLine(response.Result.Property.Value );

Để bạn tham khảo, bạn có thể tải xuống bản sao sample.mpp từ liên kết được cung cấp.

Chuyển đổi tệp MS Project sang các định dạng khác

Aspose.Tasks Cloud cung cấp phương thức GetTaskDocumentWithFormat(..) cung cấp khả năng đọc tệp MS Project và lưu tệp đó vào một trong các định dạng được hỗ trợ sau

Chuyển đổi MPP sang định dạng PNG

Lệnh cURL sau đây cung cấp khả năng đọc tệp MS Project lưu trữ trên đám mây và hiển thị đầu ra ở định dạng PNG. Đầu ra sau đó được lưu trên bộ nhớ cục bộ.

lệnh cURL

curl -X GET "https://api.aspose.cloud/v3.0/tasks/CalendarWorkWeeks.mpp/format?format=png&returnAsZipArchive=false" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o resultant.png

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

C#.NET

Aspose.Tasks Cloud SDK cho .NET có thể được sử dụng độc quyền trong các dự án .NET để xử lý tệp MS Project. Bằng cách sử dụng cùng một SDK, bạn có thể hoàn thành các yêu cầu của mình về việc kết xuất tệp .mpp thành .png hoặc các định dạng được hỗ trợ khác (như đã đề cập ở trên).

  • Đầu tiên, chúng ta cần khởi tạo một đối tượng của TasksApi trong khi truyền ClientSecret và ClientID làm đối số đầu vào
  • Thứ hai, gọi phương thức GetTaskDocumentWithFormat (…) của TasksApi trong khi truyền đối tượng GetTaskDocumentWithFormatRequest
  • Thông tin định dạng xuất được chỉ định bằng cách sử dụng đối tượng GetTaskDocumentWithFormatRequest. Giá trị được truy cập từ phép liệt kê ProjectFileFormat
// Để biết ví dụ đầy đủ và tệp dữ liệu, vui lòng truy cập https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
// khởi tạo và đối tượng của TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);

// gọi phương thức để thực hiện chuyển đổi
var resultantOutput = tasksApi.GetTaskDocumentWithFormat(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetTaskDocumentWithFormatRequest
{
    Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Png,
    Name = "Home move plan.mpp",
});

// gọi phương thức để lưu tập tin kết quả
saveToDisk(resultantOutput, "Converted.png");

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

Để bạn tham khảo, tệp MPP nguồn được sử dụng trong ví dụ trên có thể được tải xuống từ Home move plan.mpp.