프로젝트 데이터를 Primavera 형식으로 가져 오기 및 내보내기
Primavera Systems, Inc.의 Primavera 독점 교환 형식 (XER)은 주로 Primavera 프로젝트 관리와 관련이 있습니다. ASPOSE.TASK 용 C ++는 Microsoft 프로젝트 데이터를 Primavera XER 및 XML 형식으로 내보낼 수있는 기능을 제공합니다. 이 기사는 다양한 Primavera 지원 형식으로 가져 오거나 내보내는 방법을 보여줍니다.
Primavera 파일에서 데이터 가져 오기
C ++ 용 작업은 Primavera XML 또는 MPX 형식에서 프로젝트 데이터를 가져올 수 있도록 촉진합니다.
Primavera XML 파일 형식에서 데이터 가져 오기
ASPOSE.C ++의 TASKS는 Microsoft Project XML 및 MPP 형식과 유사한 Primavera XML을 가져올 수 있습니다. 프로젝트 클래스는 다른 프로젝트 파일에 사용 된 것과 동일한 생성자를 사용하여 이러한 유형의 파일을로드 할 수있는 기능을 제공합니다.
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project.xml");
2System::SharedPtr<ProjectFileInfo> info = Project::GetProjectFileInfo(dataDir + u"Project.xml");
3System::Console::WriteLine(System::ObjectExt::Box<FileFormat>(info->get_ProjectFileFormat()));
Importing Data from Primavera MPX File Formats
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Primavera1.mpx");
2System::SharedPtr<ProjectFileInfo> info = Project::GetProjectFileInfo(dataDir + u"primavera1.mpx");
3System::Console::WriteLine(System::ObjectExt::Box<FileFormat>(info->get_ProjectFileFormat()));
Reading Project UIDs from Primavera XML file
A Primavera XML file may contain multiple projects, each having its own UID. Aspose.Tasks for C++ API provides the capability to read all such UIDs from the project and then load a project using a specific id from the list of UIDs.
1System::SharedPtr<PrimaveraXmlReader> reader = System::MakeObject<PrimaveraXmlReader>(dataDir + u"Project.xml");
2System::SharedPtr<System::Collections::Generic::List<int32_t>> listOpProjectUids = reader->GetProjectUids();
Reading Primavera XML file with Multiple Projects
1System::SharedPtr<PrimaveraXmlReadingOptions> options = System::MakeObject<PrimaveraXmlReadingOptions>();
2options->set_ProjectUid(4557);
3// Returns project with special Uid
4System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project.xml", options);
Exporting Project Data in Primavera Formats
The SaveFileFormat enumerator is used to specifying the project export type as Primavera XML or XER.
Exporting Project Data to Primavera XML Format
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp");
2
3// Save project in desired format
4project->Save(dataDir + u"ExportProjectDataToXMLFormat_out.xml", Aspose::Tasks::Saving::SaveFileFormat::PrimaveraP6XML);
Exporting Project Data to Primavera XER Format
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp");
2
3// Save project in desired format
4project->Save(dataDir + u"ExportProjectDataToXERFormat_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::PrimaveraXER);
Exporting Project Data to Primavera MPX Format
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"Project1.mpp");
2
3// Save project in desired format
4project->Save(dataDir + u"ExportProjectDataToPrimaveraMPXFormat_out.xml", Aspose::Tasks::Saving::SaveFileFormat::MPX);
Primavera XML Save Options
If Primavera XML file doesn’t have any WBS inside (only Activities), Aspose.Tasks for C++ can’t read properly this type of file, because the API needs a root task to create a tree of tasks. In this case, the API creates a RootTask, even if it doesn’t exist in the file, to be able to read these particular files. If the user wants to save after reading, It’ll be saving with created RootTask, which did not exist before reading. This option helps to decide how to save into the file with created RootTask or not. By default, it is set to true.
1System::SharedPtr<Project> project = System::MakeObject<Project>(dataDir + u"project.xml");
2
3// Specify xml save options
4System::SharedPtr<PrimaveraXmlSaveOptions> options = System::MakeObject<PrimaveraXmlSaveOptions>();
5options->set_SaveRootTask(false);
6project->Save(u"UsingPrimaveraXMLSaveOptions_out.xml", options);