Microsoft Project (.MPP) 文件存储项目进度、资源和任务数据。许多团队更喜欢使用 Excel (XLSX) 进行报告、进一步分析或与没有 Microsoft Project 的利益相关者共享。将 MPP 转换为 XLSX 可以使项目数据可访问,支持在 Excel 中进行数据透视和图表,并简化报告。
在本文中解释了如何使用 .NET Cloud SDK 将 MPP 转换为 XLSX 的详细信息 — 包括从本地驱动器上传文件的示例,转换已经在云存储中的 MPP 文件,以及以编程方式下载生成的 XLSX 文件。
- 为什么将 MPP 转换为 XLSX?
- 前提条件
- 使用 C# .NET 将 MPP 转换为 XLSX
- 通过 cURL (REST) 将 MPP 导出为 Excel
- 在线 MPP 转 XLSX 转换器
- 最佳实践和建议
为什么将 MPP 转换为 XLSX?
- 更广泛的兼容性:Excel 文件在几乎所有平台上都可以打开。
- 报告与分析:使用 Excel 的数据透视表和公式来分析计划和资源数据。
- 归档与共享:XLSX 通常更容易归档或附加到电子邮件中,而无需项目许可证。
先决条件
- 一个 Aspose Cloud 账户 和应用 SID / 应用秘钥。 (在 Aspose Cloud 控制面板注册。)
- 在您的开发机器上安装 .NET 6.0 或更高版本。
- Visual Studio / VS Code 和一个有效的互联网连接。
安装 .NET Cloud SDK
在您的项目中运行以下命令以添加SDK包:
dotnet add package Aspose.Tasks-Cloud --version 25.7.0
将 MPP 转换为 XLSX 使用 C# .NET
以下是一个完整的 C# 示例,演示:
- 初始化 TasksApi 客户端,
- 从本地磁盘上传 MPP,然后
- 将上传的 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 转 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 输出保留任务表和许多日程字段。图形甘特图可以根据转换选项导出为表格或图像。