使用 C# 將 Primavera XML 轉換為 MPP

Oracle Primavera P6 是一個項目、項目群和項目組合管理軟件。它用於規劃、管理和執行大型工程項目。在某些情況下,我們可能需要以編程方式將 Primavera P6 項目轉換為 Microsoft Project。在本文中,我們將學習如何使用 C# 將 Primavera XML 轉換為 MPP 文件。

本文應涵蓋以下主題:

  1. 將 Primavera XML 轉換為 MPP 的 C# API
  2. 將 Primavera P6 XML 轉換為 MPP
  3. 將 Primavera XML 導入 MPP 文件

將 Primavera XML 轉換為 MPP 的 C# API

要將 Primavera XML 轉換為 MPP 文件,我們將使用 Aspose.Tasks for .NET API。它允許讀取和寫入 MPP/XML 文件,而無需安裝 Microsoft Project。此外,它允許將 MPP 文件轉換和保存為 支持的文件格式

API 的 Project 類表示一個項目。此類的 Save(string, SaveFileFormat) 方法將項目數據保存到文件中。它提供了將項目數據保存到文件的 CopyTo(Project) 方法。 SaveFileFormat 定義用於保存項目格式選擇的枚舉。

下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Tasks

使用 C# 將 Primavera P6 XML 轉換為 MPP

我們可以按照以下步驟輕鬆地將 Primavera P6 項目 XML 轉換為 MPP 文件:

  • 使用 Project 類加載 XML 文件。
  • 使用 Save() 方法保存 MPP 文件。它以輸出 MPP 文件路徑和 SaveFileFormat 作為參數。

以下示例代碼顯示瞭如何在 C# 中將 Primavera P6 XML 轉換為 MPP。

// 此代碼示例演示如何將 Primavera P6 XML 轉換為 MPP。
// 使用 Project 類加載輸入 Primavera XML 文件
Project project = new Project(@"C:\Files\primavera.xml");

// 使用 SaveFileFormat 枚舉保存為 MPP 文件
project.Save(@"C:\Files\primavera_Output.mpp", SaveFileFormat.Mpp);
使用 C# 將 Primavera P6 XML 轉換為 MPP

使用 C# 將 Primavera P6 XML 轉換為 MPP。

使用 C# 將 Primavera XML 導入 MPP 文件

我們可以按照以下步驟輕鬆地將 Primavera P6 項目數據從 XML 導入到 MPP 文件中:

  1. 首先,使用 Project 類加載 XML 文件。
  2. 接下來,使用 Project 類加載 MPP 模板文件。
  3. 之後,調用 CopyTo() 方法。
  4. 最後,使用 Save() 方法將項目保存為 MPP 文件。它以輸出 MPP 文件路徑和 SaveFileFormat 作為參數。

以下示例代碼顯示瞭如何在 C# 中將 Primavera P6 項目數據從 XML 導入到 MPP。

// 此代碼示例演示如何將 Primavera P6 項目數據從 XML 導入 MPP。
// 加載輸入 XML 文件
Project xmlProject = new Project(@"C:\Files\primavera.xml");

// 加載模板 MPP 文件
Project mppProject = new Project(@"C:\Files\Blank-Project-2010.mpp");

// 複製項目數據
xmlProject.CopyTo(mppProject);

// 保存輸出 MPP(Microsoft 項目文件)
mppProject.Save(@"C:\Files\ImportFromXmlToMPP.mpp", SaveFileFormat.Mpp);

獲得免費許可證

您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。

結論

在本文中,我們學習瞭如何:

  • 加載 Primavera P6 項目 XML 文件;
  • 將數據從 P6 XML 複製到空白 MPP 項目文件;
  • 在 C# 中將加載的 XML 保存為 MPP。

除了將 Primavera XML 轉換為 MPP 之外,您還可以使用 文檔 了解有關 Aspose.Note for .NET API 的更多信息。如有任何疑問,請隨時通過我們的免費支持論壇與我們聯繫。

也可以看看