
如何使用 .NET REST API 将 MS Project (MPP) 转换为 Excel。
MS Project 文件 (MPP) 广泛用于以结构化格式管理复杂的项目计划、时间表、资源和任务。但是,MPP 文件是专有的,需要 Microsoft Project 等特定软件才能查看和编辑。因此,通过将 MPP 转换为 XLSX 可以实现更广泛的访问,让没有 MS Project 的利益相关者更轻松地使用 Excel 的高级功能查看、操作和分析项目数据。
MPP 到 Excel 转换 API
Aspose.Tasks Cloud SDK for .NET 只需几行代码即可简化 MS Project (MPP) 文件到 Excel (XLSX) 格式的转换。.NET Cloud SDK 提供高性能、准确性和灵活性,让您可以轻松地将 MPP 到 Excel 的转换功能集成到您的应用程序中,而无需 MS Project 等其他软件。
要在我们的项目中使用 SDK,首先我们需要在 NuGet 包管理器中搜索“Aspose.Tasks-Cloud”,然后单击“添加包”按钮。这会将 SDK 引用添加到您的项目中。其次,从 云仪表板 获取您的客户端凭据。
如果您没有现有帐户,只需按照快速入门指南中的说明创建一个免费帐户。
使用 C# .NET 将 MS Project 导出到 Excel
在本节中,我们将使用 API 自动提取项目数据,包括任务、资源和时间表,并将其转换为结构化的 Excel 格式。
下面详细说明了如何使用 C# .NET 执行 MPP 到 Excel 的转换。
TasksApi tasksApi = new TasksApi(clientSecret, clientID);
创建 TasksApi 类的对象,同时传递客户端凭据作为输入参数。
var saveOptionsSerialized = "{ \"TextDelimiter\":\"Comma\", \"IncludeHeaders\":false,\"NonExistingTestProperty\":false," +
"\"View\":{ \"Columns\":[{Type:\"GanttChartColumn\",\"Name\":\"TestColumn1\",\"Property\":\"Name\",\"Width\":120}," +
"{Type:\"GanttChartColumn\",\"Name\":\"TestColumn2\",\"Property\":\"Duration\",\"Width\":120}]}}";
创建 SaveOptions 实例,我们在其中定义转换操作的自定义属性。
tasksApi.PostTaskDocumentWithFormat(new PostTaskDocumentWithFormatRequest(){.....}
调用 API 开始转换操作。此方法需要输入 MPP 文件的名称和 SaveOptions 实例作为参数。
saveToDisk(finalResponse, resultant);
最后,使用自定义方法将生成的工作簿(以流实例形式返回)保存到本地存储。
// 有关更多示例,请访问 https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet
// 从 https://dashboard.aspose.cloud/ 获取客户端凭据
string clientSecret = "XXXXXXXXXXXXXXXX";
string clientID = "XXXXXXXXXXXXX-XXXXXX-4be6-be35-ff5c3a6aa4a2";
// 创建 TasksApi 类的实例
TasksApi tasksApi = new TasksApi(clientSecret, clientID);
// 要加载的输入 MS Project 文件的名称
String inputFile = "Home move plan.mpp";
// 生成的 Excel 文件的名称
String resultant = "resultant.xlsx";
// SaveOptions 参数是 JSON 序列化的表示形式
// Aspose.Tasks 的 SaveOptions 类或其特定格式的继承者(如 CsvOptions 等):
var saveOptionsSerialized = "{ \"TextDelimiter\":\"Comma\", \"IncludeHeaders\":false,\"NonExistingTestProperty\":false," +
"\"View\":{ \"Columns\":[{Type:\"GanttChartColumn\",\"Name\":\"TestColumn1\",\"Property\":\"Name\",\"Width\":120}," +
"{Type:\"GanttChartColumn\",\"Name\":\"TestColumn2\",\"Property\":\"Duration\",\"Width\":120}]}}";
// 从包含 JSON 的字符串实例填充 JObject
var saveOptions = JObject.Parse(saveOptionsSerialized);
// 调用 API 使用 SaveOptions 实例将 MS Project 导出为 Excel 格式
var finalResponse = tasksApi.PostTaskDocumentWithFormat(new PostTaskDocumentWithFormatRequest()
{
SaveOptions = saveOptions,
Format = ProjectFileFormat.Xlsx,
Name = inputFile,
ReturnAsZipArchive = false
});
// 将生成的 Excel 工作表保存在本地驱动器上
saveToDisk(finalResponse, resultant);
// 我们自定义的方法将流内容保存到本地驱动器上的 Excel 文件中
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0, SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
可以从 Home move plan.mpp 和 resultant.xlsx 下载上述示例中输入的 MPP 文件和生成的结果 Excel 工作簿。
MPP 到 Excel 转换的预览。
使用 cURL 命令将 MPP 转换为 XLSX
使用 Aspose.Tasks Cloud 和 cURL 命令将 MS Project (MPP) 文件转换为 XLSX 是一种简化且独立于平台的方法。此方法对于自动化任务、与 Web 服务的集成以及在 REST API 因其简单性和效率而受到青睐的环境中工作尤其有益。
此方法的第一步是执行以下命令时生成 JWT 访问令牌:
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=XXXXXX-XXXXXXX-XXXXXXX-be54-33012487e783&client_secret=XXXXXXXXXXXXXXXXXXXXXXXX" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
一旦我们有了 JWT 令牌,请执行以下命令将 MS Project (MPP) 文件导出为 XLSX 格式。
curl -v -X GET "https://api.aspose.cloud/v3.0/tasks/{inputFile}/format?format=xlsx&returnAsZipArchive=false" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.xlsx
将“inputFile”替换为云存储中已有的输入 MS Project 文件的名称,并将“accessToken”替换为上面生成的 JWT 访问令牌。
免费 MPP 到 XLSX 转换器
为了见证 Aspose.Cloud REST API 的惊人功能,您可以考虑尝试我们的免费 MPP 到 XLSX 转换器。
如何使用 .NET REST API 将 MS Project (MPP) 转换为 Excel。
结论
总之,将 MS Project (MPP) 文件转换为 Excel 格式在可访问性、数据分析和协作方面具有显著优势。我们鼓励您尝试我们的云 API,以获得顺畅高效的转换体验。
无论是使用功能强大的 Aspose.Tasks Cloud SDK for .NET 还是利用 cURL 命令进行直接 API 交互,这两种方法都简化了转换过程并实现与现代工作流程的无缝集成。
有用的链接
— 现场演示
相关文章
我们强烈建议您访问以下博客: