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

时间:2020-03-06 14:55:45  来源:igfitidea点击:

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

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

解决方案

Microsoft Office API提供对MS Project的编程访问。我只将它用于Word和Excel,所以我不知道我们必须使用MSDN上的界面进行多方面的挖掘,以了解我们可以做什么和不能做什么。

我公司的一个Java项目使用Aspose的商业产品,该产品允许应用程序操纵包括Project在内的Office文档。它可以很好地用于他们的目的,但是同样,他们只将它用于Word和Excel,因此不能在Project上提供太多建议。

以下是选项:

  • 互操作(对于大型项目,混乱而又可怕的缓慢)
  • 将项目保存为XML并使用它(混乱)
  • 将项目保存在数据库中(该数据库不会发布,并且仅适用于Project 2003-在保存时请参阅ODBC选项)。我已经看到它在集成方案中被大量使用
  • Projette(商业版,每个许可10美元)
  • ILog项目查看器(也是商业版)

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

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