Імпорт і експорт проєктів у Primavera

Пропрієтарний формат обміну Primavera (XER), розроблений компанією Oracle Inc., широко використовується в Primavera P6 Project Management рішення. У багатьох корпоративних середовищах дані про проєкти потрібно передавати між Microsoft Project та Primavera, які використовують різні внутрішні формати.

Aspose.Tasks for .NET забезпечує надійний спосіб імпортувати та експортувати проєкти між цими системами, підтримуючи XER, XML (P6XML), MPX та бази даних Primavera (включаючи автономні SQLite DBs). Це забезпечує плавну співпрацю, коли залучено кілька платформ управління проєктами.

Імпорт даних із файлу Primavera

Імпорт даних із XML-форматів файлів Primavera

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);

Імпорт даних із MPX-форматів файлів Primavera

У цьому прикладі показано, як завантажити проєкт, збережений у форматі 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 із проєкту, а потім завантажити проєкт, використовуючи конкретний id зі списку 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 надає можливість читати дані Project з бази даних 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, ви можете:

Це робить Aspose.Tasks незамінним інструментом для організацій, яким потрібен безшовну взаємодію між середовищами Microsoft Project і Primavera, забезпечуючи плавний обмін даними та мінімізуючи ручну працю.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.