Работа с проектами в 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:
- В меню Файл выберите Открыть.
- Выберите опцию XML Format (*.xml) из типов файлов и перейдите к выходному файлу XML.
- В меню «Проект» выберите Информация о проекте **
Создать пустой проект и сохранение как 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);