c# ms-project

Acceso mediante programación a un archivo de Microsoft Project(MPP) desde C#



ms-project (5)

Sourcefourge.net ofrece un componente en Java que se puede integrar con aplicaciones .net para leer archivos MPP hasta MPP 2007, el enlace es http://mpxj.sourceforge.net/getting-started.html

¿Cuáles son mis opciones para acceder mediante programación a un archivo de Microsoft Project? ¿Cuáles son los pros y los contras de cada enfoque?

Básicamente, necesitaré importar todos los datos del archivo a otra estructura de datos. El uso de los ensamblados de Office Interop es bajo en la escala de preferencias.


La API de Microsoft Office proporciona acceso programático a MS Project. Solo lo he usado para Word y Excel, así que no sé qué tan rica es la interfaz; tendrás que buscar en MSDN para saber qué puedes hacer y qué no.

Uno de los proyectos de Java en mi empresa utiliza un producto comercial de Aspose que permite a las aplicaciones manipular documentos de Office, incluido Project. Funciona bien para sus propósitos, pero una vez más, solo lo han usado para Word y Excel, por lo que no pueden ofrecer muchos consejos sobre Project.


Estas son las opciones:

  1. Interop (desordenado y horriblemente lento para proyectos grandes)
  2. Guarde el proyecto en XML y trabaje con él (desordenado)
  3. Guarde el proyecto en la base de datos (eso no se está publicando y está disponible solo para el proyecto 2003 - vea la opción ODBC mientras se guarda). He visto que se usa mucho en los escenarios de integración
  4. Projette (comercial, $ 10 por licencia)
  5. ILog Project Viewer (también comercial)

La biblioteca MPXJ ( mpxj.sf.net ) viene en sabores Java y .Net y le permitirá leer y escribir múltiples formatos de archivo de Microsoft Project usando una sola API consistente. Conozco productos comerciales que usan las versiones Java y .Net de MPXJ sin ningún problema.

Descargo de responsabilidad: soy el mantenedor de MPXJ.


Puede usar Aspose.Tasks para .NET . Este componente le permite trabajar con archivos de Microsoft Project . No requiere que MS Office esté instalado en el servidor, a diferencia de Office Interop. La API es muy simple y fácil de usar. Y proporciona un amplio conjunto de características para leer, editar, escribir y convertir archivos MPP.

Este componente es un ensamblaje .NET normal que se puede usar con sus aplicaciones .NET. Funciona en cualquier sistema operativo Windows y también en entornos de 32/64 bits.

Divulgación: trabajo como desarrollador evangelista en Aspose.