Как бы вы извлекли данные из файла MS Project .mpp?
-
09-06-2019 - |
Вопрос
Мне нужно извлечь данные из файла .mpp в сети и объединить их с другими данными из нескольких разных баз данных.Приложение может быть написано на Perl, VB6, VB.net или C #, но должно быть легко запланировано с сервера под управлением Windows.
Что бы вы порекомендовали для извлечения данных MS Project без вмешательства пользователя?
Доступны ли какие-либо драйверы ODBC для MS Project?
Существуют ли какие-либо модули (для Perl, VB, VB.net или C #) для открытия файла .mpp и чтения данных об активности?
Решение
Я бы рекомендовал использовать MPXJ ( mpxj.sf.net ) для извлечения данных из файлов Microsoft Project. Не расстраивайтесь из-за того, что изначально она была библиотекой Java - текущий выпуск MPXJ включает в себя нативные DLL-файлы .net, а также оригинальный файл JAR Java, благодаря магии IKVM.
Отказ от ответственности: я поддерживаю MPXJ.
Другие советы
MPP имеет свою собственную объектную модель, которую можно использовать для доступа к данным в ней. Информация должна быть доступна здесь: http://msdn.microsoft.com/en -us / офис / aa905469.aspx
Для чтения данных MPP вы можете использовать Aspose.Tasks для .NET . Этот компонент представляет собой обычную сборку .NET и может использоваться с любым приложением .NET. Он предоставляет простой API для доступа к элементам проекта и данные . Р>
Раскрытие информации: я работаю евангелистом разработчика в Aspose.
У меня такая же потребность. Вот что я нашел до сих пор. Существует поставщик OLEDB для проектов Microsoft, до версии MP 2007. Если Google это, есть достаточно сайтов, цитирующих строку подключения, но вот одна цитата: oConn.Open " поставщик = Microsoft.Project.OLEDB.9.0; " & Амп; _ " Имя проекта = c: \ somepath \ myProject.mpp "
Проблема с этим подходом заключается в том, что вам нужно установить MS Project на сервере. В любом случае это неприятность и невозможность использования среды хостинга.
Итак, вы приступили к разбору .mpp. MPXJ - отличная библиотека, как предлагает один из вышеупомянутых комментаторов, и я могу позволить себе подождать, поэтому я жду, когда они выпустят версию .NET. Если вы решили сделать это, получите код и посмотрите, что они делают. Кроме того, в их исходном коде / комментариях нет (насколько мне известно) документации этого формата.