Microsoft Project (.MPP) 文件存储项目进度、资源和任务数据。许多团队更喜欢使用 Excel (XLSX) 进行报告、进一步分析或与没有 Microsoft Project 的利益相关者共享。将 MPP 转换为 XLSX 可以使项目数据可访问,支持在 Excel 中进行数据透视和图表,并简化报告。

在本文中解释了如何使用 .NET Cloud SDK 将 MPP 转换为 XLSX 的详细信息 — 包括从本地驱动器上传文件的示例,转换已经在云存储中的 MPP 文件,以及以编程方式下载生成的 XLSX 文件。


为什么将 MPP 转换为 XLSX?

  • 更广泛的兼容性:Excel 文件在几乎所有平台上都可以打开。
  • 报告与分析:使用 Excel 的数据透视表和公式来分析计划和资源数据。
  • 归档与共享:XLSX 通常更容易归档或附加到电子邮件中,而无需项目许可证。

先决条件

  1. 一个 Aspose Cloud 账户 和应用 SID / 应用秘钥。 (在 Aspose Cloud 控制面板注册。)
  2. 在您的开发机器上安装 .NET 6.0 或更高版本。
  3. Visual Studio / VS Code 和一个有效的互联网连接。

安装 .NET Cloud SDK

在您的项目中运行以下命令以添加SDK包:

dotnet add package Aspose.Tasks-Cloud --version 25.7.0

将 MPP 转换为 XLSX 使用 C# .NET

以下是一个完整的 C# 示例,演示:

  1. 初始化 TasksApi 客户端,
  2. 从本地磁盘上传 MPP,然后
  3. 将上传的 MPP 转换为 XLSX 并下载结果。

第 1 步 - 初始化 TasksApi 实例:

var tasksApi = new TasksApi(clientSecret, clientId);

步骤 2 - 将 MPP 上传到云存储:

using (var fs = File.OpenRead(localMPPFile))
{
    var uploadRequest = new PostCreateRequest(remoteName, fs);
    tasksApi.UploadFile(uploadRequest);
}

步骤 3 - XLSX 导出选项:

var formatRequest = new GetTaskDocumentWithFormatRequest()
{
    Name = remoteName,
    Format = ProjectFileFormat.Xlsx,
    ReturnAsZipArchive = false
};

步骤 4 - 导出 MPP 到 XLSX:

var result = tasksApi.GetTaskDocumentWithFormat(formatRequest);
// 如需更多示例,请访问 https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet

// 从 https://dashboard.aspose.cloud/ 获取客户端凭据
string clientSecret = "XXXXXXX";
string clientID = "XXXXX-XXXXXXXXX";

// 创建 TasksApi 类的实例
TasksApi tasksApi = new TasksApi(clientSecret, clientID);

// 输入 MPP 文件的名称
String inputFile = "Project_Plan.mpp";
// name of resultant Excel file
String resultant = "resultant.xlsx";

// input MPP 文件
using var stream = File.OpenRead(inputFile);
// 将文件上传到云存储
tasksApi.UploadFile(new Requests.PostCreateRequest("input.mpp", stream));

// 创建 MPP 文件转换请求
GetTaskDocumentWithFormatRequest formatRequest = new GetTaskDocumentWithFormatRequest()
{
    Format = ProjectFileFormat.Pdf,
    Name = inputFile,
    // do not save output as ZIP archive
    ReturnAsZipArchive = false
};

// 执行 MPP 到 XLSX 的转换并将输出作为流实例返回
var output = tasksApi.GetTaskDocumentWithFormat(formatRequest);

// save output on local drive
using (var outFs = File.Create(outputXlsx))
{
    result.CopyTo(outFs);
}

✅ 提示:如果您已经将 MPP 文件存储在云端,则跳过上传步骤并将 Name 设置为 MPP 文件的远程路径。

通过 cURL (REST) 导出 MPP 到 Excel

如果您更喜欢原始的 REST 调用,这里是使用 cURL 的等效方法。如果您希望自动化任务,集成 web 服务或在更喜欢使用 REST API 的环境中工作,这种方法也很有用。

步骤 1 - 获取访问令牌:

curl -X POST "https://api.aspose.cloud/connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_APP_SID&client_secret=YOUR_APP_KEY"

步骤 2 - 将 MPP 转换为 XLSX(下载结果)

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

{sourceMPP} 替换为云存储中的 MPP 文件名或路径。


在线 MPP 转 XLSX 转换器

为了探索 REST API 在网页浏览器中的惊人能力,请尝试使用我们的 Free Online MPP to XLSX 转换器应用。它是基于 Aspose.Tasks Cloud 开发的,使您能够体验 MPP 到 Excel 的转换,而无需编写一行代码。

MPP 转 Excel 转换器

免费在线 MPP 转 XLSX 转换器。

最佳实践与建议

  • 保持原始数据:在转换之前备份原始 MPP。
  • 大文件:对于非常大型的项目,考虑进行批处理或服务器端处理。
  • 检查 Excel 输出:转换通常将任务映射到行;查看自定义字段的列映射。
  • 在 CI/CD 中自动化:在后台作业中使用 API 将 MPP 转换为 XLSX 以实现报告自动化。

常见问题解答 (FAQs)

Q1: 我可以将大型 MPP 文件转换为 XLSX 吗? 是的。Aspose.Tasks Cloud 支持大型 MPP 文件的转换;对于非常大的项目,请考虑分块或服务器端处理。

Q2: 我需要安装 Microsoft Project 吗? 不。转换完全在云中处理 — 不需要 Microsoft Project。

Q3: 我可以转换已经在云存储中的 MPP 吗? 是的。提供云文件路径或使用 UploadFile API 将本地 MPP 移动到云存储。

Q4:Excel 输出会保留甘特图和任务列表吗? Excel 输出保留任务表和许多日程字段。图形甘特图可以根据转换选项导出为表格或图像。


相关文章