使用 C++ 在 PowerPoint 中创建和操作表格

Microsoft PowerPoint 提供在 PowerPoint 演示文稿中插入表格的功能。表格允许您以行和列的形式排列数据。此外,他们组织数据并使其易于查看和分析。为此,本文将教您如何使用 C++ 在 PowerPoint 演示文稿中创建和操作表格。

用于在 PowerPoint 演示文稿中创建和操作表格的 C++ API

我们将使用 Aspose.Slides for C++ API 在 PowerPoint 演示文稿中创建和操作表格。它是一个功能强大且功能丰富的 API,无需安装 Mircosoft PowerPoint 即可支持创建、读取和修改 PowerPoint 文件。您可以通过 NuGet 安装 API,也可以直接从 下载 部分下载。

PM> Install-Package Aspose.Slides.Cpp

使用 C++ 在 PowerPoint 演示文稿中创建表格

以下是在 PowerPoint 演示文稿中创建表格的步骤。

以下示例代码展示了如何使用 C++ 在 PowerPoint 演示文稿中创建表格。

// 文件路径
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);
示例代码生成的表

示例代码生成的表

使用 C++ 访问和修改 PowerPoint 演示文稿中的表格

您还可以访问和修改 PowerPoint 演示文稿中的现有表格。以下是在 PowerPoint 演示文稿中访问和修改表格的步骤。

以下示例代码展示了如何使用 C++ 访问和修改 PowerPoint 演示文稿中的表格。

// 文件路径
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);

使用 C++ 在 PowerPoint 表格中设置文本方向

以下是在 PowerPoint 表格中设置文本方向的步骤。

以下示例代码展示了如何使用 C++ 设置 PowerPoint 表格中的文本方向。

// 文件路径
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 演示文稿中创建和更新表格。此外,您还了解了如何使用 Aspose.Slides for C++ API 在 PowerPoint 表格中设置文本的方向。它是一个强大的 API,提供了一系列用于处理 PowerPoint 文件的附加功能。您可以通过访问 官方文档 来详细探索 API。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。

也可以看看