Этот модуль экспорта предназначен для работы с файлами форматов MS Project и Primavera. Он построен как приложение .NET Core, поэтому его можно запускать в среде dotnet или внутри Docker-контейнера.
Модуль не поддерживает импорт/экспорт для PDF, PNG, Excel или iCal файлов. Для этих форматов вы можете использовать специальный модуль экспорта или онлайн-сервер.
Перед запуском приложения убедитесь, что у вас установлен .NET Core 7 environment. После этого модуль экспорта MSP можно скачать из Клиентской Зоны на вкладке Загрузки. Вот изображение для справки:
У вас есть два варианта запуска исходного кода:
1. Запуск через Visual Studio (только для Windows)
Для этого вам понадобится Visual Studio 2022, так как более ранние версии не совместимы с .NET Core 7. После открытия приложения, щелкните правой кнопкой мыши по Решению в правой панели и выберите опцию "Восстановить пакеты NuGet". После этого вы можете запустить либо http
, либо https
версии.
2. Запуск через командную строку
Этот метод совместим как с Windows, так и с Linux. Перейдите в корневую папку приложения и установите необходимые пакеты, используя команду:
dotnet restore
Затем перейдите в папку "GanttToMSProject" и выполните запуск приложения, используя:
dotnet run
Чтобы опубликовать приложение, используйте эту команду:
dotnet publish -c Release -o published
Существует два способа протестировать функциональность модуля:
1. Использование тестовой страницы
Now listening on: http://localhost:5128
Теперь вы можете использовать кнопки для экспорта данных.
2. Использование сниппета
Откройте этот URL: 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
.
Модуль и сервер экспорта используют библиотеку MPXJ для импорта/экспорта файлов MSP и Primavera. Однако экспорт файлов MPP не поддерживается. Вы все еще можете импортировать как XML, так и MPP файлы.
Для импорта больших файлов вам нужно будет изменить ограничения на размер запроса. Откройте файл GanttToMSProject/Controllers/MspConversionController.cs
и раскомментируйте строку DisableRequestSizeLimit
и следующую за ней.
После сохранения этих изменений и перезапуска сервера, импорт больших файлов должен проходить без проблем. Для справки, импорт файла размером 244Мб был протестирован и потребовал до 4Гб ОЗУ.
Чтобы создать 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
К началу