从C#读取和写入Microsoft Project 2007

时间:2009-04-15 13:15:37

标签: c# ms-project

有没有办法从Microsoft Project 2007 mpp文件中读取和写入数据? 我有一个从Project 2003访问数据库文件读取和写入数据的应用程序。为了使其工作,我首先将Project 2003 mpp文件保存为Access数据库,然后我的代码可以读取和写入Access数据库。但是Project 2007不允许您将其另存为Access数据库文件。我想知道是否有其他方法来获取数据?

5 个答案:

答案 0 :(得分:2)

您可以使用.NET Office Interop与Microsoft Project 2007配合使用。

答案 1 :(得分:1)

您可能会发现MPXJ有用。它允许您从MPP文件以及Project和其他规划应用程序中的各种文件格式中读取。如果您想将数据再次读入Project,它将允许您将数据保存为MPX或MSPDI文件。

乔恩

P.S。

免责声明:我维持MPXJ。

答案 2 :(得分:1)

Aspose.Tasks for .NET允许您read and write data to Microsoft Project 2007。使用该组件的简单API可以轻松地执行数据读取和写入操作。此外,它不需要在运行您的应用程序的计算机上安装MS Office。

披露:我在Aspose担任开发人员传播者。

答案 3 :(得分:1)

我强烈建议使用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

}

答案 4 :(得分:0)

您可以使用Project Server Interface(PSI)来完成此任务。有一个完整的SDK可用:

http://msdn.microsoft.com/en-us/library/ms512767.aspx

查看报告数据库中的部分:

http://msdn.microsoft.com/en-us/library/ms510779.aspx

当然,您始终可以使用对象模型,但在获取时间分段数据时,您会看到性能问题。报告数据库将所有时间分段数据非规范化为非常容易查询的视图。

非洲科尔比 http://colbyafrica.blogspot.com