Программный доступ к файлу Microsoft Project (MPP) из C # - PullRequest
19 голосов
/ 30 сентября 2008

Какие есть варианты программного доступа к файлу Microsoft Project? Каковы плюсы и минусы каждого подхода?

Мне нужно будет импортировать все данные из файла в другую структуру данных. Использование сборок Office Interop находится на низком уровне шкалы предпочтений.

Ответы [ 5 ]

14 голосов
/ 09 октября 2008

Библиотека MPXJ ( mpxj.sf.net ) поставляется с разновидностями Java и .Net и позволяет вам читать и записывать несколько форматов файлов Microsoft Project с использованием единого согласованного API. Мне известны коммерческие продукты, в которых без проблем используются версии MPXJ для Java и .Net.

Отказ от ответственности: я поддерживаю MPXJ.

5 голосов
/ 10 августа 2011

Вы можете использовать Aspose.Tasks для .NET . Этот компонент позволяет работать с файлами Microsoft Project . Он не требует установки MS Office на сервер, в отличие от Office Interop. API очень прост и удобен в использовании. И он предоставляет богатый набор функций для чтения, редактирования, записи и конвертации файлов MPP.

Этот компонент представляет собой обычную сборку .NET, которую можно использовать с приложениями .NET. Он работает на любой ОС Windows, а также в 32/64-битных средах.

Раскрытие информации: я работаю евангелистом разработчика в Aspose.

5 голосов
/ 01 октября 2008

Вот варианты:

  1. Взаимодействие (грязно и ужасно медленно крупные проекты)
  2. Сохранение проекта в XML и работа с ним (Грязный)
  3. Сохранить проект в базе данных (это не публикуется и доступен только для проекта 2003 - см. ODBC вариант при сохранении). я видел это используется много в интеграции Сценарии
  4. Projette (коммерческий, 10 $ за лицензия)
  5. ILog Project Viewer (также коммерческая)
4 голосов
/ 30 сентября 2008

Microsoft Office API обеспечивает программный доступ к MS Project. Я использовал его только для Word и Excel, поэтому я не знаю, насколько насыщен интерфейс - вам придется немного покопаться в MSDN, чтобы узнать, что вы можете и не можете сделать.

Один из проектов Java в моей компании использует коммерческий продукт Aspose , который позволяет приложениям манипулировать документами Office, включая Project. Он хорошо работает для своих целей, но, опять же, они использовали его только для Word и Excel, поэтому не могут дать много советов по Project.

РЕДАКТИРОВАТЬ (2019) : Я могу подтвердить, что это очень способный продукт.

1 голос
/ 05 августа 2011

Sourcefourge.net предлагает компонент на Java, который может быть интегрирован с приложениями .net для чтения файлов MPP до MPP 2007. http://mpxj.sourceforge.net/getting-started.html

...