Импорт и экспорт проектов в Primavera
Собственный формат обмена Primavera (XER), разработанный компанией Oracle Inc., широко используется в Primavera P6 Project Management решение. Во многих корпоративных средах данные проектов необходимо обменивать между Microsoft Project и Primavera, которые используют разные внутренние форматы.
Aspose.Tasks for .NET обеспечивает надежный способ импорта и экспорта проектов между этими системами, поддерживая XER, XML (P6XML), MPX и Primavera databases (включая SQLite standalone DBs). Это обеспечивает бесперебойное взаимодействие при использовании нескольких платформ управления проектами.
Импорт данных из файла Primavera
Импорт данных из форматов Primavera XML
Aspose.Tasks может импортировать Primavera XML так же, как Microsoft Project XML и форматы MPP. Класс Project предоставляет возможность загрузки такого типа файла, используя тот же конструктор, что и для других файлов Project.
1Project project = new Project("Project.xml");
2ProjectFileInfo info = Project.GetProjectFileInfo("Project.xml");
3Console.WriteLine(info.ProjectFileFormat);
Импорт данных из форматов Primavera MPX
В этом примере показано, как загрузить проект, сохранённый в формате MPX.
1Project project = new Project("Primavera1.mpx");
2ProjectFileInfo info = Project.GetProjectFileInfo("primavera1.mpx");
3Console.WriteLine(info.ProjectFileFormat);
Чтение UID проектов из файла Primavera XML
Файл Primavera XML может содержать несколько проектов, каждый из которых имеет собственный UID. Aspose.Tasks for .NET API предоставляет возможность прочитать все такие UID из проекта и затем загрузить проект, используя конкретный идентификатор из списка UID.
1PrimaveraXmlReader reader = new PrimaveraXmlReader("Project.xml");
2List<int> listOpProjectUids = reader.GetProjectUids();
Чтение файла Primavera XML с несколькими проектами
В следующем примере показано, как обрабатывать файлы Primavera XML, содержащие несколько проектов.
1PrimaveraXmlReadingOptions options = new PrimaveraXmlReadingOptions();
2options.ProjectUid = 4557;
3// Returns project with special Uid
4Project project = new Project("Project.xml", options);
Импорт данных проекта из базы данных Primavera
Aspose.Tasks for .NET API предоставляет возможность читать данные проекта из базы данных Primavera. Следующий пример кода показывает, как использовать класс Project для чтения из базы данных.
1SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder();
2sb.DataSource = "192.168.56.3,1433";
3sb.Encrypt = true;
4sb.TrustServerCertificate = true;
5sb.InitialCatalog = "PrimaveraEDB";
6sb.NetworkLibrary = "DBMSSOCN";
7sb.UserID = "privuser";
8sb.Password = "***";
9
10// Initialize a new instance of the PrimaveraDbSettings class with connection string and project id
11PrimaveraDbSettings settings = new PrimaveraDbSettings(sb.ConnectionString, 4502);
12
13// Initialize a new instance of the Project class
14Project project = new Project(settings);
Поддержка базы данных Primavera SQLite
Также поддерживаются автономные базы данных Primavera P6 SQLite, что обеспечивает доступ к данным проекта в автономном режиме.
1const int projectId = 4502;
2// Create Primavera DB Settings using connection string and project id
3PrimaveraDbSettings primaveraDbSettings = new PrimaveraDbSettings("Data Source=\\PPMDBSQLite.db", projectId);
4primaveraDbSettings.ProviderInvariantName = "System.Data.SQLite";
5// Create new project using primavera db settings
6Project project = new Project(primaveraDbSettings);
Экспорт данных проекта в форматы Primavera
Aspose.Tasks поддерживает экспорт данных проекта с помощью SaveFileFormat
enumerator, с опциями для форматов XML, XER и MPX.
Экспорт данных проекта в формат Primavera XML
1Project project = new Project("New Project.mpp");
2project.Save("ExportProjectDataToXMLFormat_out.xml", SaveFileFormat.PrimaveraP6XML);
Экспорт данных проекта в формат Primavera XER
1Project project = new Project("New Project.mpp");
2project.Save("ExportProjectDataToXERFormat_out.mpp", SaveFileFormat.PrimaveraXER);
Экспорт данных проекта в формат Primavera MPX
1Project project = new Project("New Project.mpp");
2project.Save("ExportProjectDataToPrimaveraMPXFormat_out.xml", SaveFileFormat.MPX);
Параметры сохранения Primavera XML
Если файл Primavera XML не содержит WBS (только Activities), Aspose.Tasks не может корректно прочитать такой тип файла, потому что API требует корневую задачу для создания дерева задач. В этом случае API создаёт RootTask, даже если он не существует в файле, чтобы иметь возможность прочитать такие файлы. Если пользователь захочет сохранить после чтения, файл будет сохранён с созданным RootTask, которого не было до чтения. Этот параметр помогает решить, сохранять ли в файл с созданным RootTask или нет. По умолчанию он установлен в true.
1Project project = new Project("project.xml");
2
3// Specify xml save options
4PrimaveraXmlSaveOptions options = new PrimaveraXmlSaveOptions();
5options.SaveRootTask = false;
6project.Save("UsingPrimaveraXMLSaveOptions_out.xml", options);
Используя Aspose.Tasks for .NET, вы можете:
- Импортировать проекты Primavera из XML, XER, MPX и базы данных (включая SQLite).
- Экспортировать данные Microsoft Project в форматы, поддерживаемые Primavera.
- Обрабатывать сложные сценарии, такие как несколько проектов в одном файле или отсутствие структуры WBS.
Это делает Aspose.Tasks незаменимым инструментом для организаций, которым нужен бесшовная совместимость между средами Microsoft Project и Primavera, обеспечивая бесперебойный обмен данными и минимизируя ручной труд.