您将如何从MS Project .mpp文件中提取数据? [关闭]

问题描述 投票:4回答:5
我需要从网络上的.mpp文件中提取数据,并将其与来自多个不同数据库的其他数据合并。该应用程序可以用Perl,VB6,VB.net或C#编写,但必须通过基于Windows的服务器轻松地进行调度。

您建议在没有用户干预的情况下提取MS Project数据吗?

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

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

c# vb.net perl vb6 project-management
5个回答
3
投票
我建议使用MPXJ(mpxj.sf.net)从Microsoft Project文件中提取数据。别被它原来是Java库的事实所困扰-由于IKVM的神奇之处,当前版本的MPXJ包含本机.net dll和原始Java JAR文件。

免责声明:我维护MPXJ。


3
投票
MPP确实有自己的对象模型,可用于访问其中的数据。该信息应在此处可用:http://msdn.microsoft.com/en-us/office/aa905469.aspx

2
投票

2
投票
为了读取MPP数据,您可以使用Aspose.Tasks for .NET。该组件是普通的.NET程序集,可以与任何.NET应用程序一起使用。它提供simple API to access project elements and data

披露:我在Aspose担任开发人员布道者。


1
投票
我有同样的需求。这是我到目前为止发现的。没有用于Microsoft项目的OLEDB提供程序,最高版本为MP 2007。如果是Google,则有足够的站点引用连接字符串,但这是一个引号:

oConn.Open "Provider=Microsoft.Project.OLEDB.9.0;" & _ "Project Name=c:\somepath\myProject.mpp"

这种方法的问题似乎是您必须在服务器上安装MS Project。无论如何,这都是令人讨厌的事情,对于使用托管环境的我来说是不可能的。

所以您只能解析.mpp。正如上面的评论者所建议的那样,MPXJ是一个出色的库,我可以负担得起,所以我正在等待他们发​​布.NET版本。如果您决心将其完成,请获取代码并查看他们的工作。除此以外,在他们的源代码/注释中,(据我所知)没有该格式的文档。

© www.soinside.com 2019 - 2024. All rights reserved.