Создавайте и управляйте таблицами в PowerPoint с помощью C++

Microsoft PowerPoint предоставляет возможность вставлять таблицы в презентации PowerPoint. Таблицы позволяют упорядочивать данные в виде строк и столбцов. Кроме того, они упорядочивают данные и упрощают их просмотр и анализ. С этой целью эта статья научит вас создавать и управлять таблицами в презентациях PowerPoint с помощью C++.

C++ API для создания и управления таблицами в презентациях PowerPoint

Мы будем использовать API Aspose.Slides for C++ для создания и управления таблицами в презентациях PowerPoint. Это мощный и многофункциональный API, который поддерживает создание, чтение и изменение файлов PowerPoint без необходимости установки Mircosoft PowerPoint. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Slides.Cpp

Создание таблицы в презентациях PowerPoint с помощью C++

Ниже приведены шаги для создания таблицы в презентациях PowerPoint.

В следующем примере кода показано, как создать таблицу в презентации PowerPoint с помощью C++.

// Путь к файлу
const String outputFilePath = u"OutputDirectory\\CreateTable_out.pptx";

// Создайте экземпляр класса Presentation
auto presentation = System::MakeObject<Presentation>();

// Доступ к первому слайду
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Определите столбцы с шириной и строки с высотой
System::ArrayPtr<double> dblCols = System::MakeObject<System::Array<double>>(4, 70);
System::ArrayPtr<double> dblRows = System::MakeObject<System::Array<double>>(4, 70);

// Добавить форму таблицы на слайд
SharedPtr<ITable> table = slide->get_Shapes()->AddTable(100, 50, dblCols, dblRows);

// Установите формат границы для каждой ячейки
for (int x = 0; x < table->get_Rows()->get_Count(); x++)
{
	SharedPtr<IRow> row = table->get_Rows()->idx_get(x);
	for (int y = 0; y < row->get_Count(); y++)
	{
		SharedPtr<ICell> cell = row->idx_get(y);

		cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderTop()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderTop()->set_Width(5);

		cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderBottom()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderBottom()->set_Width(5);

		cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderLeft()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderLeft()->set_Width(5);

		cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->set_FillType(FillType::Solid);
		cell->get_CellFormat()->get_BorderRight()->get_FillFormat()->get_SolidFillColor()->set_Color(System::Drawing::Color::get_Red());
		cell->get_CellFormat()->get_BorderRight()->set_Width(5);
	}
}

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Таблица, созданная по образцу кода

Таблица, созданная по образцу кода

Доступ и изменение таблицы в презентациях PowerPoint с помощью C++

Вы также можете получить доступ к существующим таблицам в презентациях PowerPoint и изменить их. Ниже приведены шаги для доступа и изменения таблицы в презентациях PowerPoint.

В следующем примере кода показано, как получить доступ к таблице в презентации PowerPoint и изменить ее с помощью C++.

// Пути к файлам
const String sourceFilePath = u"OutputDirectory\\CreateTable_out.pptx";
const String outputFilePath = u"OutputDirectory\\AccessTable_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Доступ к первому слайду
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Доступ к таблице
SharedPtr<ITable> table;

for (SharedPtr<IShape> shape : slide->get_Shapes())
{
	if (System::ObjectExt::Is<ITable>(shape)) {
		table = System::DynamicCast_noexcept<ITable>(shape);
	}
}

// Установить текст
table->idx_get(0, 1)->get_TextFrame()->set_Text(u"Aspose");

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);

Установите направление текста в таблице PowerPoint с помощью С++

Ниже приведены шаги, чтобы установить направление текста в таблицах PowerPoint.

В следующем примере кода показано, как задать направление текста в таблице PowerPoint с помощью C++.

// Пути к файлам
const String sourceFilePath = u"SourceDirectory\\Slides\\PresentationWithTable.pptx";
const String outputFilePath = u"OutputDirectory\\SetTextDirectionInTable_out.pptx";

// Загрузите файл презентации
auto presentation = System::MakeObject<Presentation>(sourceFilePath);

// Доступ к первому слайду
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// Доступ к таблице
SharedPtr<ITable> table;

for (SharedPtr<IShape> shape : slide->get_Shapes())
{
	if (System::ObjectExt::Is<ITable>(shape)) {
		table = System::DynamicCast_noexcept<ITable>(shape);
	}
}

// Установить направление текста
SharedPtr<ICell> cell = table->idx_get(0, 1);
cell->set_TextAnchorType(TextAnchorType::Center);
cell->set_TextVerticalType(TextVerticalType::Vertical270);

// Сохранить презентацию
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Изображение вывода, сгенерированного примером кода

Изображение вывода, сгенерированного примером кода

Получить бесплатную лицензию

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как создавать и обновлять таблицы в презентациях PowerPoint. Кроме того, вы увидели, как задать направление текста в таблицах PowerPoint с помощью Aspose.Slides for C++ API. Это надежный API, предоставляющий множество дополнительных функций для работы с файлами PowerPoint. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на наш бесплатный форум поддержки.

Смотрите также