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

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

Модуль не поддерживает импорт/экспорт для PDF, PNG, Excel или iCal файлов. Для этих форматов вы можете использовать специальный модуль экспорта или онлайн-сервер.

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

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

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

У вас есть два варианта запуска исходного кода:

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. Использование тестовой страницы

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

Теперь вы можете использовать кнопки для экспорта данных.

2. Использование сниппета

  • Откройте этот 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

Модуль и сервер экспорта используют библиотеку 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-образ в фоновом режиме ("отсоединенном" режиме), используйте:

docker run -p 65163:80 msp_export_module
К началу