Создание диаграмм в презентациях PPTX на C++

Создавайте диаграммы в презентациях PPTX с помощью серверных API Aspose.Slides for C++ без Microsoft PowerPoint.

Создание диаграмм PPTX на C++

С помощью 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();

Как создавать диаграммы в файлах PPTX на C++

Создайте диаграмму в презентации PPTX с помощью Aspose.Slides for C++ в несколько строк кода.

  1. Создайте объект Presentation.
  2. Получите доступ к первому слайду.
  3. Добавьте диаграмму с данными по умолчанию.
  4. Задайте индекс листа данных диаграммы.
  5. Получите книгу данных диаграммы.
  6. Задайте заголовок диаграммы.
  7. Удалите ряды и категории, созданные по умолчанию.
  8. Добавьте ряды и категории.
  9. Возьмите первый ряд диаграммы и заполните его данные.
  10. Задайте цвет заливки ряда.
  11. Покажите имя категории, имя ряда и значение в подписях данных второго ряда.
  12. Сохраните файл PPTX.

Системные требования

Aspose.Slides for C++ поддерживает основные платформы и операционные системы. Убедитесь, что ваша среда соответствует следующим требованиям.

  • Microsoft Windows, Linux, macOS или другая совместимая ОС с поддерживаемой средой выполнения C++.
  • Ссылка на библиотеку 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++ можно также создавать диаграммы в других форматах.