Данный модуль экспорта предназначен для импорта и экспорта файлов MS Project и Primavera. Это приложение на .NET Core, которое может работать как в среде dotnet, так и внутри docker-образа.
Импорт/экспорт PDF, PNG, Excel или iCal файлов не поддерживается. Для этих форматов используйте соответствующий модуль экспорта или наш онлайн-сервер.
Перед запуском приложения убедитесь, что установлен .NET Core 7 environment. После установки вы можете скачать модуль экспорта MSP в Личном кабинете на вкладке Downloads. Вот скриншот для примера:
Существует два способа запуска исходного кода:
1. Запуск из Visual Studio (только Windows)
Для этого требуется Visual Studio 2022, так как предыдущие версии не поддерживают .NET Core 7. После открытия приложения кликните правой кнопкой мыши по Solution в правой панели и выберите Restore NuGet packages. Затем можно запускать версии http
или https
.
2. Запуск из командной строки
Этот способ работает как на Windows, так и на Linux. Перейдите в корневую папку приложения и выполните команду для установки пакетов:
dotnet restore
Далее перейдите в папку "GanttToMSProject" и запустите приложение командой:
dotnet run
Для публикации приложения используйте команду:
dotnet publish -c Release -o published
Есть два способа протестировать модуль экспорта:
1. Через тестовую страницу:
Now listening on: http://localhost:5128
Теперь можно экспортировать данные с помощью кнопок.
2. Через сниппет:
Откройте https://snippet.dhtmlx.com/kf16k0if
Найдите URL модуля экспорта в выводе командной строки, например:
Now listening on: http://localhost:5128
gantt.exportToMSProject({
server: "http://localhost:5128",
});
Теперь экспорт данных по кнопке будет работать.
Модуль экспорта MSP поддерживает только методы gantt.exportToMSProject
и exportToPrimaveraP6
. Он не работает с такими вызовами, как:
gantt.exportToPDF({server:"gantt-to-msproject-url"});
Также, если вызвать gantt.exportToMSProject()
без параметров, по умолчанию будет использоваться наш онлайн-сервис по адресу export.dhtmlx.com
.
Модуль экспорта MSP и сервер используют библиотеку MPXJ для импорта и экспорта файлов MSP и Primavera. В настоящее время экспорт файлов MPP не поддерживается, но импорт возможен как для XML, так и для MPP файлов. Подробнее можно узнать здесь.
Для импорта больших файлов необходимо снять ограничения на размер запроса. Откройте файл GanttToMSProject/Controllers/MspConversionController.cs
и раскомментируйте атрибут DisableRequestSizeLimit
и строку после него.
После сохранения и перезапуска сервера импорт больших файлов должен заработать. Тесты показывают, что импорт файла размером 244Mb может потребовать до 4Gb оперативной памяти.
Для сборки docker-образа выполните:
docker build -t msp_export_module
Для тестирования запустите docker-образ командой:
docker run -p 65163:80 msp_export_module
Остановить контейнер можно с помощью Ctrl+C
.
Запуск docker-образа в фоновом режиме осуществляется так:
docker run -p 65163:80 msp_export_module
К началу