Microsoft Project Professional — самое популярное в мире программное обеспечение для управления проектами, поскольку оно помогает менеджерам разрабатывать планы, назначать задачи участникам, отслеживать ход выполнения задач, контролировать финансы и графики, сообщать информацию о проекте и организовывать работу и рабочую силу в формате Work Breakdown Structure, четко объясняя задачи проекта и их назначение конкретным ресурсам в команде. Однако для создания/обновления графика/плана вам необходимо использовать программное обеспечение MS Project Professional, которое требует усилий по установке, а также затрат на лицензирование.
- MS Project Professional альтернатива
- Поддерживаемые форматы файлов
- Расширенные возможности
- Установка
- Прочитать свойства MS Project
- Конвертировать MS Project в другие форматы
MS Project Professional альтернатива
Aspose.Tasks Cloud — это потрясающее решение для создания, обработки и рендеринга файлов MS Project в другие поддерживаемые форматы. Решение на основе REST API обеспечивает гибкость использования любой платформы и языка по вашему выбору для выполнения желаемых требований. Оно позволяет пользователям выполнять создание проектов, планирование, управление ресурсами, задачами и атрибутами в облаке. API Aspose.Tasks Cloud обеспечивает такую гибкость, что вы можете напрямую работать с назначениями проектов, задачами проектов, ресурсами проектов, календарями проектов, исключениями календарей проектов, расширенными атрибутами проектов, VBA, данными в масштабе времени и различными другими свойствами облачных проектов.
Поддерживаемые форматы файлов
Aspose.Tasks Cloud для cURL поддерживает популярные форматы файлов Microsoft Project (MPT, MPP, MPX) и Primavera P6 (XER, XML).API также предоставляет функцию преобразования файлов облачных проектов в ведущие в отрасли форматы файлов, включая HTML, PDF, XPS, XLSX, CSV, TXT и форматы изображений (BMP, PNG, JPEG, TIFF, SVG).
Расширенные возможности
Помимо функций, указанных выше, API облака Aspose.Tasks также предоставляет некоторые расширенные функции, перечисленные ниже.
- Импорт проекта из базы данных, включая Primavera DB
- Перепланируйте все идентификаторы задач проекта, даты начала/окончания, рассчитайте резервы
- Получайте масштабированные по времени данные или повторяющуюся информацию для определенной задачи, используя UID
- Проведите анализ рисков с использованием моделирования Монте-Карло и создайте отчет
- Управление структурой декомпозиции работ проекта (WBS)
- Пересчитать работу по проекту на предмет завершения или незавершения
- Читайте календари Microsoft Project and Calendar Exceptions information.
Установка
Ниже приведены шаги по установке Aspose.Tasks Cloud SDK для .NET в Visual Studio для Mac.
- Разверните структуру проекта в окне обозревателя решений.
- Щелкните правой кнопкой мыши папку «Пакеты» и выберите пункт «Управление пакетами NuGet…».
- Введите Aspose.Tasks Cloud в поле поиска и нажмите клавишу Enter.
- Установите флажок рядом с Aspose.Tasks Cloud и нажмите кнопку Добавить пакет.
- SDK добавлен в пакеты проекта
Прочитать свойства проекта MS
Эти свойства являются местом для хранения метаданных о ваших проектах, таких как Название, Тема, Автор, Менеджер, Компания, ключевые слова и описания вашего проекта. Эти свойства могут быть полезны при поиске вашего проекта или для справочных целей, когда вы или кто-то другой повторно просматривает этот файл проекта через несколько месяцев или лет.
Команда cURL
Команды cURL можно использовать для чтения свойств проекта на любой платформе с помощью консоли/командной строки. Используя те же команды cURL, можно прочитать свойства, связанные с файлом проекта, как показано ниже.
curl -v "https://api.aspose.cloud/oauth2/token" \
-X POST \
-d 'grant_type=client_credentials&client_id=xxx-xxx-xxx&client_secret=xxxxx' \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Запросить URL-адрес
https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties
API также предоставляет возможность считывать отдельные свойства, связанные с файлом.
curl -X GET "https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>"
Запросить URL-адрес
https://api.aspose.cloud/v3.0/tasks/sample.mpp/documentproperties/LastAuthor
Тело ответа
{
"Property": {
"Name": "LastAuthor",
"Value": "Alexey Zhilin",
"link": {
"Href": "/documentProperties/LastAuthor",
"Rel": "self",
"Type": null,
"Title": null
}
},
"Code": 200,
"Status": "OK"
}
C#.NET
// Полные примеры и файлы кода можно найти на сайте https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
const string clientID = "xxxx-xxxx-xxxx-xxxxx";
const string clientSecret = "xxxxxxxxx";
// инициализация и объект TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);
// извлечь свойства, связанные с проектным документом
var retrievedProperties = tasksApi.GetDocumentPropertiesAsync(new GetDocumentPropertiesRequest
{
Name = "sample.mpp",
});
// выполнить итерацию по списку свойств, извлеченных из документа, и вывести их значение
for(int counter= 0; counter< retrievedProperties.Result.Properties.List.Count; counter++)
{
Console.WriteLine("Property name at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Name);
Console.WriteLine("Property value at index " + counter + " = "+retrievedProperties.Result.Properties.List[counter].Value);
}
Если вам необходимо получить значение, связанное с определенным свойством, попробуйте использовать следующий фрагмент кода
var response = tasksApi.GetDocumentPropertyAsync(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetDocumentPropertyRequest
{
Name = "sample.mpp",
PropertyName = "LastAuthor"
});
Console.WriteLine(response.Result.Property.Value );
Для справки, копию sample.mpp можно загрузить по указанной ссылке.
Конвертировать файл MS Project в другие форматы
Aspose.Tasks Cloud предоставляет метод GetTaskDocumentWithFormat(..), который позволяет читать файл MS Project и сохранять его в одном из следующих поддерживаемых форматов:
- Управление проектом
- Веб
- Растровые изображения
- Страница Описательная
- Электронная таблица
- Gdhtml
Рендеринг MPP в формат PNG
Следующая команда cURL обеспечивает возможности чтения хранилища файлов MS Project в облачном хранилище и рендеринга вывода в формате PNG. Затем вывод сохраняется в локальном хранилище.
команда cURL
curl -X GET "https://api.aspose.cloud/v3.0/tasks/CalendarWorkWeeks.mpp/format?format=png&returnAsZipArchive=false" \
-H "accept: multipart/form-data" \
-H "authorization: Bearer <JWT Token>" \
-o resultant.png
Образец файла проекта, использованный в примере выше, можно загрузить с CalendarWeek.mpp.
C#.NET
Aspose.Tasks Cloud SDK для .NET может использоваться исключительно в проектах .NET для обработки файлов MS Project. Используя тот же SDK, вы можете выполнить свои требования по рендерингу файлов .mpp в .png или другие поддерживаемые форматы (как указано выше).
- Во-первых, нам нужно создать экземпляр объекта TasksApi, передав ClientSecret и ClientID в качестве входных аргументов.
- Во-вторых, вызовите метод GetTaskDocumentWithFormat (…) TasksApi при передаче объекта GetTaskDocumentWithFormatRequest
- Информация о формате экспорта указывается с помощью объекта GetTaskDocumentWithFormatRequest. Значение доступно из перечисления ProjectFileFormat
// Полные примеры и файлы данных можно найти по адресу https://github.com/aspose-tasks-cloud/aspose-tasks-cloud-dotnet/
// инициализация и объект TasksApi
Aspose.Tasks.Cloud.Sdk.TasksApi tasksApi = new Aspose.Tasks.Cloud.Sdk.TasksApi(clientSecret, clientID);
// вызов метода для выполнения преобразования
var resultantOutput = tasksApi.GetTaskDocumentWithFormat(new Aspose.Tasks.Cloud.Sdk.Model.Requests.GetTaskDocumentWithFormatRequest
{
Format = Aspose.Tasks.Cloud.Sdk.Model.ProjectFileFormat.Png,
Name = "Home move plan.mpp",
});
// вызов метода для сохранения результирующего файла
saveToDisk(resultantOutput, "Converted.png");
public static void saveToDisk(Stream responseStream, String resultantFile)
{
var fileStream = File.Create(resultantFile);
responseStream.Seek(0,SeekOrigin.Begin);
responseStream.CopyTo(fileStream);
fileStream.Close();
}
Для справки, исходный файл MPP, использованный в приведенном выше примере, можно загрузить с Home move plan.mpp.