Работа с проектами в C ++

Aspose.Tasks для C ++ позволяет вам работать с файлами Microsoft Project (MPP/XML) без установки Microsoft Project или с использованием Microsoft Office Automation. Мощный и гибкий API, Aspose.Tasks экономит ваше время и усилия, предоставляя вам инструменты, необходимые для написания эффективного кода для манипулирования файлами проекта в ваших приложениях C ++.

Aspose.Tasks можно использовать для открытия существующих файлов или создания новых файлов. В этой статье объясняется, как создать новый и пустой файл проекта из потока, используя класс проекта, а также открыть существующие файлы.

Создание пустого файла проекта

Класс Project является основным классом в Aspose.Tasks, используемых для установки и получения свойств, связанных с проектом, а также поведения проекта. Метод сохранения, предлагаемый этим классом, позволяет представить проект в различных форматах вывода, таких как XML, MPP, PDF, HTML и т. Д. С одним вызовом API. Этот метод принимает поток файла или имя файла, а также одно из значений, предоставленных типом перечисления SaveFileFormat.

В настоящее время Aspose.Tasks предоставляет объект для создания только файлов проекта XML. Следующие строки кода создают простой файл проекта в формате XML.

Файл проекта XML может быть открыт в Microsoft Project:

  1. В меню Файл выберите Открыть.
  2. Выберите опцию XML Format (*.xml) из типов файлов и перейдите к выходному файлу XML.
  3. В меню «Проект» выберите Информация о проекте **

Создать пустой проект и сохранение как XML -файл

1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3    
4// Save project as xml 
5project->Save(dataDir + u"EmptyProjectSaveXML_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);

Create an Empty Project and Save to Stream

 1// Create a project instance
 2System::SharedPtr<Project> newProject = System::MakeObject<Project>();
 3    
 4// Create a file stream
 5{
 6    System::SharedPtr<System::IO::FileStream> projectStream = System::MakeObject<System::IO::FileStream>(dataDir + u"EmptyProjectSaveStream_out.xml", System::IO::FileMode::Create, System::IO::FileAccess::Write);
 7    // Clearing resources under 'using' statement
 8    System::Details::DisposeGuard<1> __dispose_guard_0({ projectStream});
 9    // ------------------------------------------
10    
11    try
12    {
13        // Write the stream into XML format
14        newProject->Save(projectStream, Aspose::Tasks::Saving::SaveFileFormat::XML);
15    }
16    catch(...)
17    {
18        __dispose_guard_0.SetCurrentException(std::current_exception());
19    }
20}

Create an Empty Project and Save to MPP

1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Save project as MPP 
5project->Save(dataDir + u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.