2008-09-02 132 views
4

我需要从网络上的.mpp文件中提取数据,并将它与来自多个不同数据库的其他数据组合。该应用程序可以用Perl,VB6,VB.net或C#编写,但必须从基于Windows的服务器轻松调度。如何从MS Project .mpp文件中提取数据?

对于没有用户干预的情况下,您会推荐如何提取MS Project数据?

是否有可用于MS Project的ODBC驱动程序?

是否有用于打开.mpp和读取活动数据的任何模块(用于Perl,VB,VB.net或C#)?

回答

3

我会推荐使用MPXJ(mpxj.sf.net)从Microsoft Project文件中提取数据。不要被它最初是Java库的事实所拖延 - 当前版本的MPXJ包含原生.net dll以及原始Java JAR文件,这要归功于IKVM的魔力。

声明:我维护MPXJ。

+0

感谢Jon,我已经有了一个游戏并计划尝试将.NET版本一旦发布。 – 2008-11-10 07:37:54

+0

Jon,我已经看到了一些关于从Objective C代码(Mac和iOS应用程序)解析mpp文件的选项的评论。我需要这个,但是我不能调用服务器 - 我想在本地执行。您是否认为有足够的文档可用于某人在Objective C中编写解析代码而不使用任何Microsoft DLL或其他SDK工具?也就是说,直接用原始代码解析mpp文件。 – 2014-02-09 20:27:30

1

我有同样的需要。这是我到目前为止发现的。 微软项目有一个OLEDB提供者,最高版本为MP 2007. 如果是谷歌它,有足够的网站引用连接字符串,但是这里是一个引用: oConn.Open“Provider = Microsoft.Project.OLEDB。 9.0;” & _ “Project Name = c:\ somepath \ myProject.mpp”

此方法的问题似乎是您必须在服务器上安装MS Project。无论如何,这是令人讨厌的,而且我无法使用托管环境。

所以,你要解析.mpp。正如上面的一位评论者所建议的,MPXJ是一个优秀的库,我可以等待,因此我正在等待他们发​​布.NET版本。 如果您决心完成它,请获取代码并查看他们在做什么。除此之外,在他们的源代码/注释中没有(据我所知)格式的文档。