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

您建议如何在无需用户干预的情况下提取 MS Project 数据?

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

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

有帮助吗?

解决方案

我建议使用 MPXJ (mpxj.sf.net) 从 Microsoft Project 文件中提取数据。不要因为它最初是一个 Java 库这一事实而推迟 - 当前版本的 MPXJ 包括本机 .net dll 以及原始的 Java JAR 文件,这要归功于 IKVM 的魔力。

免责声明:我维持 MPXJ。

其他提示

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

希望以下内容有所帮助...

http://www.codeproject.com/KB/cs/PrjXlsRpt.aspx

参考值

为了读取 MPP 数据,您可以使用 用于 .NET 的 Aspose.Tasks. 。该组件是一个普通的 .NET 程序集,可以与任何 .NET 应用程序一起使用。它提供 用于访问项目元素和数据的简单 API.

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

我有同样的需要。这是我到目前为止发现的。微软项目有一个 OLEDB 提供程序,最高版本为 MP 2007。如果谷歌一下,有足够多的网站引用连接字符串,但这里是一个引用:OCONN.OPEN“提供商= Microsoft.project.oledb.9.0;” &_“项目名称= C: somepath myproject.mpp”

这种方法的问题似乎是您必须在服务器上安装 MS Project。无论如何,这都很麻烦,而且对我来说不可能使用托管环境。

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top