Діаграми є чудовим інструментом для стислого відображення даних. Крім того, вони представляють дані візуально, полегшуючи використання великих обсягів даних. Ви можете знайти діаграми корисними в ситуаціях, коли вам потрібно відобразити такі дані, як порівняння місячного бюджету або рівень впровадження продукту. У світлі цього ця стаття навчить вас створювати діаграми у файлах 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++
Щоб створити лінійну діаграму, використовуйте значення переліку ChartTypeLine під час додавання діаграми. Нижче наведено кроки для створення лінійної діаграми у файлі 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()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) метод.
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
Нижче наведено зразок коду для створення лінійної діаграми в 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++
Щоб створити пірамідну діаграму, використовуйте значення переліку ChartTypePyramid, щоб указати тип діаграми під час додавання діаграми. Нижче наведено кроки для створення пірамідальної діаграми у файлі 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()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) метод.
- Нарешті збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
Нижче наведено приклад коду для створення пірамідальної діаграми в 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++
Щоб створити бульбашкову діаграму, передайте значення переліку ChartTypeBubble у метод 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 (intrusiveptr)Aspose::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 значення) методів відповідно.
- Нарешті, збережіть файл Excel за допомогою IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) метод.
Нижче наведено приклад коду для створення бульбашкової діаграми в 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);
// Значення X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Значення X"));
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"));
// Встановіть значення осі Х
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 for C++ підтримує багато додаткових типів діаграм. Ви можете переглянути повний список підтримуваних діаграм, переглянувши значення переліку ChartType.
Отримайте безкоштовну ліцензію
Ви можете спробувати API без оціночних обмежень, надіславши запит на безкоштовну тимчасову ліцензію.
Висновок
У цій статті ви дізналися, як створювати діаграми в електронних таблицях Excel за допомогою C++. Зокрема, ви бачили, як створювати лінійні, пірамідні та бульбашкові діаграми за допомогою Aspose.Cells for C++ API. Крім того, ви бачили, що API підтримує велику кількість інших діаграм, які можна створювати у файлах Excel. Окрім діаграм, API надає багато додаткових функцій для роботи з файлами Excel. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.