使用 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 文件

C# API 将 Primavera XML 转换为 MPP

要将 Primavera XML 转换为 MPP 文件,我们将使用 Aspose.Tasks for .NET API。它允许读取和写入 MPP/XML 文件,而无需安装 Microsoft Project。此外,它允许将 MPP 文件转换并保存为 支持的文件格式

API 的 Project 类代表一个项目。该类的Save(string, SaveFileFormat)方法将工程数据保存到文件中。它提供了将项目数据保存到文件的 CopyTo(Project) 方法。 SaveFileFormat 定义了用于保存项目格式选择的枚举。

下载 DLL API 或使用 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 作为参数。

以下示例代码显示了如何将 Primavera P6 项目数据从 XML 导入 C# 中的 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 的信息。如有任何歧义,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看