
MPP 是 Microsoft Project 的主要格式之一,常用於儲存工作量、日程安排和財務狀況。自 1984 年 Microsoft Project 早期發布以來,它一直被用於管理專案、制定時間表、設定預算和分配資源。因此,MPP 格式是與 Microsoft Project 相關的本機檔案類型,並在儲存專案時儲存專案資訊。類似地,XER 文件格式是 Primavera P6 專案規劃和管理應用程式使用的專有專案文件格式。因此,如果需要將 MPP 檔案轉換為另一種格式,我們需要安裝和設定內部部署解決方案或選擇基於雲端的解決方案。
Microsoft Project 處理 API
Microsoft Project 和 Primavera P6 是用於專案分配、任務、資源、日曆、屬性和計劃資訊的流行文件格式。為了方便我們的客戶以編程方式處理這些文檔,我們開發了 Aspose.Tasks Cloud API,這是一種基於 REST 的解決方案,使您能夠獲取項目分配項目、向項目添加新分配、獲取項目的所有任務、更改任務位置、向項目添加日曆、獲取時間尺度數據等等。執行所有這些操作無需安裝任何第三方軟體。
此外,我們還開發了 Aspose.Tasks Cloud SDK for .NET,它是 Aspose.Tasks Cloud 的包裝器,使您能夠在 .NET 應用程式中實現所有與專案管理相關的任務。
安裝
為了使用 .NET Cloud SDK,第一步是在系統上安裝它。可透過 NuGet 和 GitHub 下載。請在終端機中執行以下命令,透過NuGet安裝SDK:
nuget install Aspose.Tasks-Cloud
如果您需要從 NuGet 套件管理器安裝,請執行下列命令:
PM> Install-Package Aspose.Tasks-Cloud
Visual Studio 方法
另一種方法是直接在 Visual Studio 中安裝:
- 開啟解決方案資源管理器。
- 展開專案並右鍵單擊解決方案中的“包”資料夾。
- 選擇管理 NuGet 套件… 選項。
- 點擊瀏覽標籤並蒐索“Aspose.Tasks-Cloud”。
- 按一下 Aspose.Tasks-Cloud 套件旁的複選框,在右側標籤中選擇適當的版本,然後按一下新增套件按鈕。

Image 1:- Aspose.Tasks-Cloud as NuGet package.
免費雲端訂閱
為了存取雲端 API,我們首先需要建立一個免費的雲端訂閱帳戶。是的,你沒聽錯。免費訂閱帳戶可提供最多 150 個免費文件處理請求。無需信用卡或其他付款詳細資訊。因此,為了完成此過程,請造訪Aspose.Cloud 儀表板。如果您有 GitHub 或 Google 帳戶,只需註冊即可。否則,請點擊建立新帳戶按鈕並提供所需資訊。現在使用憑證登入儀表板並從儀表板展開應用程式部分並向下捲動至用戶端憑證部分以查看用戶端 ID 和用戶端金鑰詳細資訊。

圖 2:- Aspose.Cloud 儀表板上的客戶端憑證。
使用 C# 中的 MPP 到 XER
請依照下列步驟將 MPP 檔案轉換為 C# .NET 應用程式中的 Primavera P6 XER。
- 首先,建立一個配置對象,同時提供客戶端 ID 和客戶端金鑰詳細資訊。
- 其次,建立 TasksApi 的物件並傳遞 Configuration 物件作為參數。
- 第三,使用 TasksApi 的 UploadFile(..) 方法從本機讀取 MPP 檔案並上傳到雲端儲存。
- 現在建立一個 GetTaskDocumentWithFormatRequest 的對象,我們在其中定義輸入 MPP 名稱和從 ProjectFileFormat 枚舉中得到的結果格式。
- 然後我們呼叫TasksApi的GetTaskDocumentWithFormat(…)方法來啟動轉換過程。
- 最後,按順序。為了將輸出 XER 保存在本機磁碟機上,我們使用 saveToDisk(…) 方法中的 File.Create 物件。
// 從 https://dashboard.aspose.cloud/ 取得 ClientID
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();
}
使用 cURL 將 MPP 轉換為 Primavera P6
cURL 指令是透過命令列終端機存取 REST API 的另一種便捷方式。因此,我們也可以透過cURL命令存取Aspose.Tasks Cloud並完成我們的要求。但是,在存取 API 之前,我們需要根據從 Aspose.Cloud 儀表板 檢索到的 ClientID 和 ClientSecret 詳細資訊產生 JSON Web Token (JWT)。請在終端機中執行以下命令來產生 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 下載。
結論
在本文中,我們討論如何使用 C# .NET 程式碼片段以及使用 cURL 命令將 Microsoft Project (MPP) 檔案轉換為 Oracle Primavera P6 XER 檔案的步驟。此外,授權機制設計非常靈活,您只需為使用我們服務的時間間隔付費。此外,在免費帳戶訂閱下,您最多可以免費處理 150 份文件處理請求。因此,一旦您對 API 感到滿意,您可以考慮選擇購買非常靈活的授權。您只需為您向伺服器發出的請求付費,費用低至 0.005 美元/API 呼叫。您可以造訪定價頁面以了解更多詳情。
儘管如此,我們的雲端 SDKS 是在 MIT 許可證 下開發的,因此它們的完整程式碼片段可以從 GitHub 下載。如果您在使用 API 時遇到任何問題或有任何相關疑問,請隨時透過 免費支援論壇 聯絡。
相關文章
我們還建議您訪問以下連結以了解更多資訊: