Диаграммы — отличный инструмент для краткого отображения данных. Кроме того, они представляют данные визуально, что упрощает использование больших объемов данных. Диаграммы могут оказаться полезными в ситуациях, когда вам нужно показать такие данные, как сравнение ежемесячного бюджета или скорость внедрения продукта. В свете этого в этой статье вы узнаете, как создавать диаграммы в файлах Excel с помощью C++.
- C++ API для создания диаграмм Excel
- Создайте линейную диаграмму в Excel с помощью C++
- Создание пирамидальной диаграммы в Excel с использованием C++
- Создать пузырьковую диаграмму в Excel с помощью C++
- Дополнительные поддерживаемые графики
- Получить бесплатную лицензию
C++ API для создания диаграмм Excel
Aspose.Cells for C++ — это собственная библиотека C++, которая позволяет создавать, читать и изменять файлы Excel, не требуя установки Microsoft Excel. API также поддерживает создание диаграмм в файлах Excel. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Cells.Cpp
Создайте линейную диаграмму в Excel с помощью C++
Чтобы создать линейную диаграмму, используйте значение перечисления ChartType\Line при добавлении диаграммы. Ниже приведены шаги для создания линейной диаграммы в файле Excel.
- Во-первых, создайте экземпляр класса IWorkbook.
- Получите рабочий лист, на который вы хотите добавить диаграмму, используя метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Вставьте данные для диаграммы.
- Добавьте диаграмму на лист с помощью IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Получите доступ к диаграмме с ее индексом, используя метод IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Добавьте источник данных для диаграммы с помощью команды IChart->GetNISeries()->Добавить (intrusiveptrAspose::Cells::Systems::String область, логическое значение isVertical).
- Наконец, сохраните файл Excel с помощью IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String имя_файла) метод.
Ниже приведен пример кода для создания линейной диаграммы в Excel с использованием C++.
// Выходной путь к каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Путь к выходному файлу excel
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));
// Создать новую книгу
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Получить первый рабочий лист, созданный по умолчанию
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Добавление образцов значений в ячейки
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);
// Добавление диаграммы на рабочий лист
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);
// Доступ к экземпляру вновь добавленной диаграммы
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Добавление SeriesCollection (источника данных диаграммы) на диаграмму в диапазоне от ячейки "A1" до "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Сохранение файла Excel
workbook->Save(outputChartTypeLine);
Создание пирамидальной диаграммы в Excel с использованием C++
Для создания пирамидальной диаграммы используйте значение перечисления ChartType\Pyramid, чтобы указать тип диаграммы при добавлении диаграммы. Ниже приведены шаги для создания пирамидальной диаграммы в файле Excel.
- Во-первых, создайте экземпляр класса IWorkbook.
- Получите рабочий лист, на который вы хотите добавить диаграмму, используя метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Вставьте данные для диаграммы.
- Добавьте диаграмму на лист с помощью IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Получите доступ к диаграмме с ее индексом, используя метод IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Добавьте источник данных для диаграммы с помощью команды IChart->GetNISeries()->Добавить (intrusiveptrAspose::Cells::Systems::String область, логическое значение isVertical).
- Наконец, сохраните файл Excel с помощью IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String имя_файла) метод.
Ниже приведен пример кода для создания пирамидальной диаграммы в Excel с использованием C++.
// Выходной путь к каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Путь к выходному файлу excel
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));
// Создать новую книгу
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Получить первый рабочий лист, созданный по умолчанию
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Добавление образцов значений в ячейки
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(50);
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(100);
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(150);
worksheet->GetICells()->GetObjectByIndex(new String("B1"))->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(new String("B2"))->PutValue(20);
worksheet->GetICells()->GetObjectByIndex(new String("B3"))->PutValue(50);
// Добавление диаграммы на рабочий лист
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);
// Доступ к экземпляру вновь добавленной диаграммы
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Добавление SeriesCollection (источника данных диаграммы) на диаграмму в диапазоне от ячейки "A1" до "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);
// Сохранение файла Excel
workbook->Save(outputChartTypePyramid);
Создать пузырьковую диаграмму в Excel с помощью C++
Чтобы создать пузырьковую диаграмму, передайте значение перечисления ChartType\Bubble методу IWorksheet->GetICharts()->Add(). Ниже приведены шаги для создания пузырьковой диаграммы в файле Excel.
- Во-первых, создайте экземпляр класса IWorkbook.
- Получите рабочий лист, на который вы хотите добавить диаграмму, используя метод IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Вставьте данные для диаграммы.
- Добавьте диаграмму на лист с помощью IWorksheet->GetICharts()->Add (Aspose::Cells::Charts::ChartType type,Aspose::Cells::Systems::Int32 upperLeftRow, Aspose::Cells::Systems ::Int32 upperLeftColumn, Aspose::Cells::Systems::Int32 lowerRightRow, Aspose::Cells::Systems::Int32 lowerRightColumn).
- Получите доступ к диаграмме с ее индексом, используя метод IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Добавьте источник данных, размеры пузырьков, значения X и значения Y для диаграммы, используя команду IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String область, bool isVertical), IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String значение), IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String значение), IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String value) методов соответственно.
- Наконец, сохраните файл Excel с помощью IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String имя_файла).
Ниже приведен пример кода для создания пузырьковой диаграммы в Excel с использованием C++.
// Выходной путь к каталогу.
StringPtr outDir = new String("OutputDirectory\\");
// Путь к выходному файлу excel
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));
// Создать новую книгу
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Получить первый рабочий лист, созданный по умолчанию
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Заполните данные для серии диаграммы
// Y значения
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y значения"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Размер пузыря
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Размер пузыря"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Х значения
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Х значения"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);
// Установить ширину первого столбца
worksheet->GetICells()->SetColumnWidth(0, 12);
// Добавление диаграммы на рабочий лист
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);
// Доступ к экземпляру вновь добавленной диаграммы
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);
// Добавление SeriesCollection (источника данных диаграммы) на диаграмму в диапазоне от B1 до D1
chart->GetNISeries()->Add(new String("B1:D1"), true);
// Установить размеры пузырьков
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));
// Установите значения оси X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));
// Установите значения оси Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));
// Сохранение файла Excel
workbook->Save(outputChartTypeBubble);
Дополнительные поддерживаемые графики
Помимо диаграмм, показанных выше, Aspose.Cells для C++ поддерживает множество дополнительных типов диаграмм. Вы можете просмотреть полный список поддерживаемых диаграмм, просмотрев значения перечисления ChartType.
Получить бесплатную лицензию
Вы можете попробовать API без ограничений на пробную версию, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как создавать диаграммы в электронных таблицах Excel с помощью C++. В частности, вы увидели, как создавать линейные, пирамидальные и пузырьковые диаграммы с помощью Aspose.Cells for C++ API. Кроме того, вы видели, что API поддерживает большое количество других диаграмм, которые вы можете создавать в своих файлах Excel. Помимо диаграмм API предоставляет множество дополнительных возможностей для работы с файлами Excel. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, свяжитесь с нами на нашем бесплатном форуме поддержки.