Microsoft PowerPoint 提供在 PowerPoint 演示文稿中插入表格的功能。表格允许您以行和列的形式排列数据。此外,他们组织数据并使其易于查看和分析。为此,本文将教您如何使用 C++ 在 PowerPoint 演示文稿中创建和操作表格。
- 用于在 PowerPoint 演示文稿中创建和操作表格的 C++ API
- 使用 C++ 在 PowerPoint 演示文稿中创建表格
- 使用 C++ 访问和修改 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 演示文稿中创建表格的步骤。
- 首先,创建一个 Presentation 类的实例来表示一个新的 PowerPoint 文件。
- 检索要在其中添加表格的幻灯片。
- 在数组中,定义表格的宽度和高度。
- 使用 ISlide->getShapes()->AddTable(float x, float y, System::ArrayPtr 创建表列宽,系统::ArrayPtr rowHeights) 方法。
- 创建一个循环来遍历表的行。
- 在循环中,创建一个嵌套循环以遍历每一行的单元格。
- 根据您的要求格式化单元格。
- 最后,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代码展示了如何使用 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 演示文稿中访问和修改表格的步骤。
- 首先,使用 Presentation 类加载 PowerPoint 文件。
- 检索包含表格的幻灯片。
- 遍历幻灯片的形状。
- 如果形状是 ITable 类型,则将其转换为 ITable 并将其存储在变量中。
- 使用 ITable->idxget(int32t columnIndex, int32t rowIndex)->getTextFrame()->setText(System::String value) 方法更新表格的文本。
- 最后,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代码展示了如何使用 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 表格中设置文本方向的步骤。
- 首先,使用 Presentation 类加载 PowerPoint 文件。
- 检索包含表格的幻灯片。
- 遍历幻灯片的形状。
- 如果形状是 ITable 类型,则将其转换为 ITable 并将其存储在变量中。
- 使用 ITable->idxget(int32t columnIndex, int32t rowIndex) 方法访问 ICell 对象中所需的表格单元格。
- 使用 ICell->setTextAnchorType(Aspose::Slides::TextAnchorType value) 方法设置文本锚点类型。
- 使用 ICell->setTextVerticalType(Aspose::Slides::TextVerticalType value) 方法设置文本方向。
- 最后,使用 Presentation->Save(System::String fname, Export::SaveFormat format) 方法保存演示文稿。
以下示例代码展示了如何使用 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。如有任何疑问,请随时通过我们的 免费支持论坛 与我们联系。