有没有办法从 Microsoft Project 2007 mpp 文件中读取和写入数据?我有一个从 Project 2003 访问数据库文件中读取和写入数据的应用程序。为了使它工作,我首先将 Project 2003 mpp 文件保存为 Access 数据库,然后我的代码可以读取和写入 Access 数据库。但 Project 2007 不允许您另存为 Access 数据库文件。我想知道是否有其他方法可以获取数据?
5 回答
您可以使用.NET Office Interop来使用 Microsoft Project 2007。
您可能会发现MPXJ很有用。它将允许您读取 MPP 文件,以及来自 Project 和其他规划应用程序的各种文件格式。如果您想再次将数据读入 Project,它将允许您将数据保存为 MPX 或 MSPDI 文件。
乔恩
ps
免责声明:我维护 MPXJ。
Aspose.Tasks for .NET允许您在Microsoft Project 2007 中读取和写入数据。使用该组件的简单 API 可以轻松执行数据读取和写入操作。此外,它不需要在运行您的应用程序的机器上安装 MS Office。
披露:我在 Aspose 担任开发人员布道师。
我强烈建议使用 MS Project 对象模型。我最近开发了一个 MS Project 插件,其中我从 MS Project 导入/导出。
我在下面用 C# 提供了一个示例。
MSProject.Tasks tasks = Globals.ThisAddIn.ProjectApp.ActiveProject.Tasks;
for (int TaskNo = 1; TaskNo <= tasks.Count; TaskNo++)
{
string TaskName;
TaskName = tasks[TaskNo].Name;
// more code
}
您可以使用 Project Server 接口 (PSI) 来完成此操作。有一个完整的 SDK 可用:
http://msdn.microsoft.com/en-us/library/ms512767.aspx
还可以查看有关报告数据库的部分:
http://msdn.microsoft.com/en-us/library/ms510779.aspx
当然,您始终可以使用对象模型,但在访问时间分段数据时会出现性能问题。报告数据库将所有时间分段数据非规范化为非常易于查询的视图。