Microsoft Project Professional 是世界上最受歡迎的專案管理軟體,因為它可以幫助經理制定計劃、向成員分配任務、追蹤任務進度、控制財務和日程安排、溝通專案資訊以及以工作分解結構格式組織工作和人力清楚解釋專案的任務及其對團隊中特定資源的分配。但是,為了建立/更新時間表/計劃,您需要使用 MS Project Professional 軟體,這會產生安裝工作量以及許可成本。
MS Project 專業替代方案
Aspose.Tasks Cloud 是 MS Project 檔案建立、操作和渲染為其他支援格式的絕佳解決方案。基於 REST API 的解決方案可以靈活地使用您選擇的任何平台和語言來完成所需的要求。它使用戶能夠在雲端中執行專案建立、調度、資源、任務和屬性管理。 Aspose.Tasks Cloud API 提供了這樣的靈活性,您可以直接處理專案分配、專案任務、專案資源、專案日曆、專案日曆例外、專案擴充屬性、VBA、時間尺度資料和各種其他雲端項目的屬性。
支援的文件格式
Aspose.Tasks Cloud for cURL 支援流行的 Microsoft Project(MPT、MPP、MPX)和 Primavera P6(XER、XML ) 文件格式。該 API 還提供將雲端專案檔案轉換為業界領先的檔案格式的功能,包括 HTML、PDF、XPS、XLSX、CSV、TXT 和影像格式(BMP、PNG、JPEG、TIFF、SVG) 。
進階功能
在上面指定的功能中,Aspose.Tasks Cloud API 也提供了一些進階功能,如下所列
- 從資料庫(包括 Primavera DB)匯入項目
- 重新安排所有專案任務 ID、開始/完成日期、計算寬限時間
- 使用 UID 取得特定任務的時間尺度資料或重複訊息
- 使用蒙特卡羅模擬執行風險分析並建立報告
- 管理專案的工作分解結構(WBS)
- 重新計算已完成或未完成的專案工時
- 閱讀 Microsoft Project 的日曆 and Calendar Exceptions information.
安裝
以下指定如何在 Visual Studio for mac 中安裝 Aspose.Tasks Cloud SDK for .NET 的步驟。
- 展開解決方案資源管理器視窗下的專案結構。
- 右鍵單擊套件資料夾,然後按一下管理 NuGet 套件…選項
- 在搜尋欄位中輸入Aspose.Tasks Cloud,然後按回車鍵
- 啟用 Aspose.Tasks Cloud 旁邊的複選框,然後按一下「新增套件」按鈕
- SDK加入工程包中
讀取 MS 項目屬性
這些屬性是儲存有關項目的元資料的位置,例如項目的標題、主題、作者、經理、公司、關鍵字和描述。這些屬性在搜尋您的專案時非常有用,或者當您或其他人在幾個月或幾年後重新訪問此專案文件時作為參考。
捲曲命令
cURL 命令可用於使用控制台/命令提示字元在任何平台上讀取項目屬性。使用相同的 cURL 命令,您可以讀取與專案檔案關聯的屬性,如下所示。
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>"
請求網址
https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties
API 也提供讀取與檔案關聯的各個屬性的功能。
curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
請求網址
https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor
響應體
{
"Property": {
"Name": "LastAuthor",
"Value": "Alexey Zhilin",
"link": {
"Href": "/documentProperties/LastAuthor",
"Rel": "self",
"Type": null,
"Title": null
}
},
"Code": 200,
"Status": "OK"
}
C#.NET
// 如需完整範例和程式碼文件,請造訪 https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
const string clientID = "xxxx-xxxx-xxxx-xxxxx";
const string clientSecret = "xxxxxxxxx";
// TasksApi 的初始化與對象
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);
// 檢索與項目文件關聯的屬性
var retrievedProperties = tasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
{
Name = "sample.mpp",
});
// 迭代根據文件檢索的屬性列表並列印它們的值
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);
}
如果您需要取得與某個屬性關聯的值,請嘗試使用下列程式碼片段
var response = tasksApi.GetDocumentPropertyAsync(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetDocumentPropertyRequest
{
Name = "sample.mpp",
PropertyName = "LastAuthor"
});
Console.WriteLine(response.Result.Property.Value );
作為參考,可以從給定的連結下載 sample.mpp 的副本。
將 MS Project 檔案轉換為其他格式
Aspose.Tasks Cloud 提供了一種方法 GetTaskDocumentWithFormat(..),它提供了讀取 MS Project 檔案並將其儲存為以下支援格式之一的功能
- 專案管理
- 網路
- 光柵影像
- 頁面描述
- 試算表
- GDHTML
將 MPP 渲染為 PNG 格式
以下 cURL 指令提供了讀取雲端儲存中的 MS Project 檔案儲存並以 PNG 格式呈現輸出的功能。然後輸出保存在本地儲存中。
捲曲命令
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
上例中使用的範例專案檔案可以從 CalendarWeek.mpp 下載。
C#.NET
Aspose.Tasks Cloud SDK for .NET 只能在 .NET 專案中用於 MS Project 檔案處理。透過使用相同的 SDK,您可以完成將 .mpp 檔案渲染為 .png 或其他支援的格式(如上所述)的要求。
- 首先,我們需要實例化一個 TasksApi 對象,同時傳遞 ClientSecret 和 ClientID 作為輸入參數
- 其次,呼叫TasksApi的GetTaskDocumentWithFormat(…)方法,同時傳遞GetTaskDocumentWithFormatRequest對象
- 使用 GetTaskDocumentWithFormatRequest 物件指定匯出格式資訊。該值是從 ProjectFileFormat 枚舉存取的
// 完整的範例和資料文件,請造訪 https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
// TasksApi 的初始化與對象
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);
// 呼叫方法進行轉換
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",
});
// 呼叫方法來保存結果文件
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();
}
作為參考,上例中使用的來源 MPP 檔案可以從 Home move plan.mpp 下載。