使用 C++ 在 PPTX 演示文稿中创建图表

无需 Microsoft PowerPoint,使用服务器端 Aspose.Slides for C++ API 在 PPTX 演示文稿中创建图表。

使用 C++ 创建 PPTX 图表

使用 Aspose.Slides for C++ 在 PPTX 演示文稿中创建图表。从 NuGet 安装软件包,或在程序包管理器控制台中使用以下命令。

命令

PM> Install-Package Aspose.Slides.Cpp

在 PPTX 中创建图表 – C++

auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);

// Add a chart with default data.
auto chart = slide->get_Shapes()->AddChart(ChartType::ClusteredColumn, 0, 0, 500, 500);

// Set the index of the chart data sheet.
int defaultWorksheetIndex = 0;

// Get the chart data workbook.
auto chartDataWorkbook = chart->get_ChartData()->get_ChartDataWorkbook();

// Set the chart title.
chart->get_ChartTitle()->AddTextFrameForOverriding(u"Sample Title");
chart->get_ChartTitle()->get_TextFrameForOverriding()->get_TextFrameFormat()->set_CenterText(NullableBool::True);
chart->get_ChartTitle()->set_Height(20);
chart->set_HasTitle(true);

// Delete the default generated series and categories.
chart->get_ChartData()->get_Series()->Clear();
chart->get_ChartData()->get_Categories()->Clear();

// Add series.
chart->get_ChartData()->get_Series()->Add(chartDataWorkbook->GetCell(defaultWorksheetIndex, 0, 1, ObjectExt::Box(String(u"Series 1"))), chart->get_Type());
chart->get_ChartData()->get_Series()->Add(chartDataWorkbook->GetCell(defaultWorksheetIndex, 0, 2, ObjectExt::Box(String(u"Series 2"))), chart->get_Type());

// Add categories.
chart->get_ChartData()->get_Categories()->Add(chartDataWorkbook->GetCell(defaultWorksheetIndex, 1, 0, ObjectExt::Box(String(u"Category 1"))));
chart->get_ChartData()->get_Categories()->Add(chartDataWorkbook->GetCell(defaultWorksheetIndex, 2, 0, ObjectExt::Box(String(u"Category 2"))));
chart->get_ChartData()->get_Categories()->Add(chartDataWorkbook->GetCell(defaultWorksheetIndex, 3, 0, ObjectExt::Box(String(u"Category 3"))));

// Take the first chart series.
auto series = chart->get_ChartData()->get_Series()->idx_get(0);

// Populate series data.
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 1, 1, ObjectExt::Box(20)));
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 2, 1, ObjectExt::Box(50)));
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 3, 1, ObjectExt::Box(30)));

// Set the fill color for the series.
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Blue());

// Take the second chart series.
series = chart->get_ChartData()->get_Series()->idx_get(1);

// Populate series data.
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 1, 2, ObjectExt::Box(30)));
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 2, 2, ObjectExt::Box(10)));
series->get_DataPoints()->AddDataPointForBarSeries(chartDataWorkbook->GetCell(defaultWorksheetIndex, 3, 2, ObjectExt::Box(60)));

// Set the fill color for the series.
series->get_Format()->get_Fill()->set_FillType(FillType::Solid);
series->get_Format()->get_Fill()->get_SolidFillColor()->set_Color(Color::get_Orange());

// Show the category name for the first label.
auto dataLabel = series->get_DataPoints()->idx_get(0)->get_Label();
dataLabel->get_DataLabelFormat()->set_ShowCategoryName(true);

dataLabel = series->get_DataPoints()->idx_get(1)->get_Label();
dataLabel->get_DataLabelFormat()->set_ShowSeriesName(true);

// Show the value for the third label.
dataLabel = series->get_DataPoints()->idx_get(2)->get_Label();
dataLabel->get_DataLabelFormat()->set_ShowValue(true);
dataLabel->get_DataLabelFormat()->set_ShowSeriesName(true);
dataLabel->get_DataLabelFormat()->set_Separator(u"/");

// Save the PPTX file.
presentation->Save(u"column_chart.pptx", SaveFormat::Pptx);
presentation->Dispose();

如何使用 C++ 在 PPTX 文件中创建图表

使用 Aspose.Slides for C++,只需几行代码即可在 PPTX 演示文稿中创建图表。

  1. 创建 Presentation 对象。
  2. 访问第一张幻灯片。
  3. 添加带有默认数据的图表。
  4. 设置图表数据工作表的索引。
  5. 获取图表数据工作簿。
  6. 设置图表标题。
  7. 删除默认生成的系列和类别。
  8. 添加系列和类别。
  9. 获取第一个图表系列并填充其数据。
  10. 设置系列的填充颜色。
  11. 在第二个系列的数据标签中显示类别名称、系列名称和值。
  12. 保存 PPTX 文件。

系统要求

Aspose.Slides for C++ 支持主要的平台和操作系统。请确保您的环境满足以下先决条件。

  • 装有受支持 C++ 运行时的 Microsoft Windows、Linux、macOS 或其他兼容操作系统。
  • 在项目中引用 Aspose.Slides for C++ 库。

基于 Aspose.Slides 构建

在线创建 PPTX 图表

免费的 Aspose.Slides Chart 应用基于 Aspose.Slides for C++ 构建,与上方代码使用的是同一 API。打开它,看看 API 能如何处理您自己的 PPTX 文件。

  • 在浏览器中运行,无需安装任何软件。
  • 在编写代码之前,先了解 Aspose.Slides 如何创建图表。
  • 根据 Excel 或表格数据创建图表。
  • 将其下载为 PPTX 文件或图像。

什么是PPTX文件格式

PPTX 文件是使用 Microsoft PowerPoint 和其他演示应用程序创建的演示文稿文件。与较旧的二进制 PPT 格式不同,PPTX 基于 Office Open XML。演示文稿包含幻灯片,其中可以包含文本、图像、格式、动画和其他媒体。幻灯片以带有自定义设置的幻灯片放映形式向观众展示。

阅读更多

图表支持的其他格式

使用 C++,您还可以在其他格式中创建图表。