我们将如何从MS Project .mpp文件中提取数据?
我需要从网络上的.mpp文件中提取数据,并将其与来自多个不同数据库的其他数据合并。该应用程序可以用Perl,VB6,VB.net或者C编写,但必须从基于Windows的服务器上轻松安排。
我们建议在没有用户干预的情况下提取MS Project数据的方法是什么?
MS Project是否有可用的ODBC驱动程序?
是否有用于打开.mpp和读取活动数据的模块(用于Perl,VB,VB.net或者C#)?
解决方案
回答
MPP确实有其自己的对象模型,可用于访问其中的数据。该信息应该在这里可用:http://msdn.microsoft.com/en-us/office/aa905469.aspx
回答
我建议使用MPXJ(mpxj.sf.net)从Microsoft Project文件中提取数据。多亏了IKVM的魔力,MPXJ的当前版本包括本机.net dll和原始Java JAR文件,因此不要被它最初是Java库这一事实所困扰。
免责声明:我维护MPXJ。
回答
我有同样的需求。这是我到目前为止发现的。
没有用于Microsoft项目的OLEDB提供程序,最高版本为MP 2007.
如果是Google,则有足够的网站引用连接字符串,但这是一个引号:
oConn.Open" Provider = Microsoft.Project.OLEDB.9.0;" &_
"项目名称= c:\ somepath \ myProject.mpp"
这种方法的问题似乎是我们必须在服务器上安装MS Project。无论如何,这都是令人讨厌的事情,对于使用托管环境的我来说是不可能的。
因此,我们只能解析.mpp。正如上面的评论者所建议的那样,MPXJ是一个出色的库,我可以耐心等待,因此我正在等待他们发布.NET版本。
如果我们决心将其完成,请获取代码,然后看看他们在做什么。除此以外,在他们的源代码/注释中,(据我所知)没有该格式的文档。
回答
希望以下内容能对我们有所帮助...
http://www.codeproject.com/KB/cs/PrjXlsRpt.aspx
Rgds