Перейти к основному содержимому

Модуль экспорта для MS Project

Этот экспортный модуль может импортировать/экспортировать файлы MS Project и Primavera. Это приложение на .NET Core, которое можно запустить внутри окружения dotnet или внутри образа Docker.

Он не включает функциональность импорта/экспорта для файлов PDF, PNG, Excel и iCal. Если вам нужна такая функциональность, следует воспользоваться соответствующим экспортным модулем или нашим онлайн-сервером.

Руководство по установке

Перед запуском приложения необходимо установить среду .NET Core 7. Как только будете готовы, вы сможете скачать MSP экспорт-модуль в разделе Клиента на вкладке Загрузки. См. изображение ниже:

MS export module download

Есть 2 способа запуска исходного кода:

  1. Запуск из Visual Studio (только Windows)

Для этого подхода потребуется Visual Studio 2022, так как более ранние версии не поддерживают .NET Core 7. При открытии приложения нужно щелкнуть правой кнопкой мыши по Solution в правой панели и выбрать кнопку Restore NuGet packages. После этого можно запустить версии http или https.

  1. Запуск через командную строку

Этот подход одинаково работает как на Windows, так и на Linux. Нужно перейти в корневую папку приложения и выполнить следующую команду для установки пакетов:

dotnet restore

После этого нужно перейти в папку "GanttToMSProject" и выполнить следующую команду для запуска приложения:

dotnet run

Вы можете выполнить следующую команду для публикации приложения:

dotnet publish -c Release -o published

Тестирование модуля экспорта

Есть 2 способа проверить работу модуля экспорта.

  1. С использованием тестовой страницы:
  • Откройте следующий URL: https://export.dhtmlx.com/test
  • Найдите URL модуля экспорта в выводе команды. Например:
Now listening on: http://localhost:5128
  • Нажмите на первый выпадающий список с URL и выберите custom.
  • Вставьте URL модуля экспорта.

Теперь можно экспортировать данные с помощью кнопок.

  1. С использованием сниппета:
  • Откройте следующий URL: https://snippet.dhtmlx.com/kf16k0if

  • Найдите URL модуля экспорта в выводе команды. Например:

Now listening on: http://localhost:5128
  • Добавьте URL в параметр server функции экспорта, например:
gantt.exportToMSProject({
server: "http://localhost:5128",
});

Теперь можно экспортировать данные с помощью кнопки.

Решение проблем

Экспорт в PDF/PNG/Excel не работает

Модуль экспорта MSP не работает для методов, отличных от gantt.exportToMSProject/exportToPrimaveraP6, то есть не будет работать, если вы вызовете

gantt.exportToPDF({server:"gantt-to-msproject-url"});

Также обратите внимание, что если вызвать gantt.exportToMSProject() без параметров, по умолчанию будет вызвана наша онлайн-служба по адресу export.dhtmlx.com.

Экспорт файлов MPP

Модуль экспорта MSP и экспорт-сервер используют библиотеку MPXJ для импорта и экспорта MSP и файлов Primavera. К сожалению, экспортировать файлы MPP невозможно, но вы можете импортировать как XML, так и MPP файлы.

Импорт больших файлов

Если хотите импортировать крупные файлы, нужно убрать лимиты размера запроса. Для этого откройте файл GanttToMSProject/Controllers/MspConversionController.cs. Там необходимо раскомментировать DisableRequestSizeLimit и следующую за ним строку.

После сохранения изменений и перезапуска сервера вы сможете импортировать крупные файлы. Было протестировано, что импорт файла размером 244 МБ требует до 4 ГБ ОЗУ.

Использование образа Docker

Чтобы создать Docker-образ, выполните следующую команду:

docker build -t msp_export_module 

Чтобы запустить Docker-образ для тестирования, можно использовать следующую команду:

docker run -p 65163:80 msp_export_module 

Вы сможете остановить контейнер сочетанием горячих клавиш Ctrl+C.

Если запустить Docker-образ в режиме «detached» (отсоединённом от терминала), он будет работать в фоновом режиме:

docker run -p 65163:80 msp_export_module 
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.