Программный доступ к файлу Microsoft Project (MPP) из C#

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
19
0
31 759
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

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

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

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

Ответ принят как подходящий

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

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

Сайт проекта не открывается :(

Denis Gladkiy 19.02.2015 13:38

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

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

Привет, Джон, спасибо за ответ. Просто интересно, можем ли мы запланировать даты начала / окончания задач с помощью MPXJ. Предположим, я добавил 3 задачи. задача 1, задача 2. Задача 3 и задача 2 имеют зависимость от завершения до начала, а задача 3 - от завершения до завершения ... как бы их даты начала / окончания были бы пересчитаны на основе зависимостей, которые я добавил?

Muhammad Adnan 09.07.2010 15:34

Просто посмотрите MPXJ - это потрясающе !! Спасибо, Джон, это действительно большой и полезный вклад. Спасает не только мой день, но и годы пользовательских данных.

Roland Bouman 27.05.2011 15:48

Он работает в консольном приложении, но не может работать в приемнике событий, когда я пытаюсь прочитать файл из библиотеки документов SharePoint.

Akshay 29.08.2018 07:48

@Akshay открывает вопрос на github.com/joniles/mpxj, было бы полезно выяснить, почему.

Jon Iles 30.08.2018 09:30

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.

Другие вопросы по теме