以编程方式从C#访问Microsoft Project(MPP)文件

时间:2008-09-30 15:36:13

标签: c# ms-project

以编程方式访问Microsoft Project文件有哪些选择?每种方法的优缺点是什么?

我基本上需要将文件中的所有数据导入到另一个数据结构中。使用Office Interop程序集的优先级较低。

5 个答案:

答案 0 :(得分:14)

MPXJ(mpxj.sf.net)库提供Java和.Net风格,允许您使用单个一致的API读取和写入多个Microsoft Project文件格式。我知道使用Java和.Net版本的MPXJ的商业产品没有任何问题。

免责声明:我是MPXJ的维护者。

答案 1 :(得分:5)

以下是选项:

  1. Interop(凌乱而且非常缓慢 大项目)
  2. 以XML格式保存项目并使用它 (杂乱)
  3. 将项目保存在数据库中(即 不发布,它是可用的 仅适用于project 2003 - 请参阅ODBC 保存时的选项)。我已经看到了它 在整合中被大量使用 方案
  4. Projette(商业,每个10美元 许可证)
  5. ILog Project Viewer(也是 商业)

答案 2 :(得分:5)

您可以使用Aspose.Tasks for .NET。此组件允许您work with Microsoft Project files。与Office Interop不同,它不需要在服务器上安装MS Office。 API非常简单易用。它提供了丰富的功能,可以读取,编辑,编写和转换MPP文件。

此组件是一个普通的.NET程序集,可以与.NET应用程序一起使用。它适用于任何Windows操作系统和32/64位环境。

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

答案 3 :(得分:4)

Microsoft Office API提供对MS Project的编程访问。我只将它用于Word和Excel,所以我不知道界面有多丰富 - 你必须在MSDN上进行一些挖掘,找出你能做什么和不能做什么。

我公司的一个Java项目使用Aspose的商业产品,允许应用程序操作Office文档,包括Project。它适用于他们的目的,但同样,他们只将它用于Word和Excel,所以不能提供很多关于Project的建议。

EDIT(2019):我可以确认它是一款功能非常强大的产品。

答案 4 :(得分:1)

Sourcefourge.net提供了一个Java组件,可以与.net应用程序集成,以读取MPP文件到MPP 2007的链接是 http://mpxj.sourceforge.net/getting-started.html