我需要从网络上的.mpp文件中提取数据,并将它与来自多个不同数据库的其他数据组合。该应用程序可以用Perl,VB6,VB.net或C#编写,但必须从基于Windows的服务器轻松调度。如何从MS Project .mpp文件中提取数据?
对于没有用户干预的情况下,您会推荐如何提取MS Project数据?
是否有可用于MS Project的ODBC驱动程序?
是否有用于打开.mpp和读取活动数据的任何模块(用于Perl,VB,VB.net或C#)?
我需要从网络上的.mpp文件中提取数据,并将它与来自多个不同数据库的其他数据组合。该应用程序可以用Perl,VB6,VB.net或C#编写,但必须从基于Windows的服务器轻松调度。如何从MS Project .mpp文件中提取数据?
对于没有用户干预的情况下,您会推荐如何提取MS Project数据?
是否有可用于MS Project的ODBC驱动程序?
是否有用于打开.mpp和读取活动数据的任何模块(用于Perl,VB,VB.net或C#)?
我会推荐使用MPXJ(mpxj.sf.net)从Microsoft Project文件中提取数据。不要被它最初是Java库的事实所拖延 - 当前版本的MPXJ包含原生.net dll以及原始Java JAR文件,这要归功于IKVM的魔力。
声明:我维护MPXJ。
MPP确实有自己的对象模型可用于访问数据。信息应该在这里可用:http://msdn.microsoft.com/en-us/office/aa905469.aspx
我有同样的需要。这是我到目前为止发现的。 微软项目有一个OLEDB提供者,最高版本为MP 2007. 如果是谷歌它,有足够的网站引用连接字符串,但是这里是一个引用: oConn.Open“Provider = Microsoft.Project.OLEDB。 9.0;” & _ “Project Name = c:\ somepath \ myProject.mpp”
此方法的问题似乎是您必须在服务器上安装MS Project。无论如何,这是令人讨厌的,而且我无法使用托管环境。
所以,你要解析.mpp。正如上面的一位评论者所建议的,MPXJ是一个优秀的库,我可以等待,因此我正在等待他们发布.NET版本。 如果您决心完成它,请获取代码并查看他们在做什么。除此之外,在他们的源代码/注释中没有(据我所知)格式的文档。
为了阅读,您可以使用Aspose.Tasks for .NET的MPP数据。这个组件是一个普通的.NET程序集,可以用于任何.NET应用程序。它提供了simple API to access project elements and data。
披露:我在Aspose担任开发者传道人。
感谢Jon,我已经有了一个游戏并计划尝试将.NET版本一旦发布。 – 2008-11-10 07:37:54
Jon,我已经看到了一些关于从Objective C代码(Mac和iOS应用程序)解析mpp文件的选项的评论。我需要这个,但是我不能调用服务器 - 我想在本地执行。您是否认为有足够的文档可用于某人在Objective C中编写解析代码而不使用任何Microsoft DLL或其他SDK工具?也就是说,直接用原始代码解析mpp文件。 – 2014-02-09 20:27:30