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





Microsoft Office API обеспечивает программный доступ к MS Project. Я использовал его только для Word и Excel, поэтому не знаю, насколько богат интерфейс - вам придется немного покопаться в MSDN, чтобы узнать, что вы можете, а что нет.
Один из проектов Java в моей компании использует коммерческий продукт Задавать, который позволяет приложениям управлять документами Office, включая Project. Он хорошо подходит для их целей, но, опять же, они использовали его только для Word и Excel, поэтому не могут дать много советов по Project.
РЕДАКТИРОВАТЬ (2019): Я могу подтвердить, что это очень способный продукт.
Вот варианты:
Библиотека MPXJ (mpxj.sf.net) поставляется в вариантах Java и .Net и позволит вам читать и записывать несколько форматов файлов Microsoft Project с помощью единого согласованного API. Мне известны коммерческие продукты, которые без проблем используют как Java, так и .Net версии MPXJ.
Отказ от ответственности: я поддерживаю MPXJ.
Привет, Джон, спасибо за ответ. Просто интересно, можем ли мы запланировать даты начала / окончания задач с помощью MPXJ. Предположим, я добавил 3 задачи. задача 1, задача 2. Задача 3 и задача 2 имеют зависимость от завершения до начала, а задача 3 - от завершения до завершения ... как бы их даты начала / окончания были бы пересчитаны на основе зависимостей, которые я добавил?
Просто посмотрите MPXJ - это потрясающе !! Спасибо, Джон, это действительно большой и полезный вклад. Спасает не только мой день, но и годы пользовательских данных.
Он работает в консольном приложении, но не может работать в приемнике событий, когда я пытаюсь прочитать файл из библиотеки документов SharePoint.
@Akshay открывает вопрос на github.com/joniles/mpxj, было бы полезно выяснить, почему.
Sourcefourge.net предлагает компонент на Java, который может быть интегрирован с приложениями .net для чтения файлов MPP вплоть до MPP 2007, ссылка: http://mpxj.sourceforge.net/getting-started.html
Вы можете использовать Aspose.Tasks для .NET. Этот компонент позволяет вам работать с файлами Microsoft Project. В отличие от Office Interop, для него не требуется установка MS Office на сервере. API очень прост и удобен в использовании. И он предоставляет богатый набор функций для чтения, редактирования, записи и преобразования файлов MPP.
Этот компонент представляет собой обычную сборку .NET, которую можно использовать с вашими приложениями .NET. Он работает в любой ОС Windows, а также в 32/64-битных средах.
Раскрытие информации: я работаю евангелистом разработчиков в Aspose.
Сайт проекта не открывается :(