Erstellen Sie Excel-Diagramme C++

Diagramme sind ein hervorragendes Werkzeug, um Daten übersichtlich darzustellen. Darüber hinaus stellen sie die Daten visuell dar, was die Nutzung großer Datenmengen erleichtert. Sie finden Diagramme möglicherweise hilfreich in Situationen, in denen Sie Daten wie den monatlichen Budgetvergleich oder die Produktakzeptanzrate anzeigen müssen. Vor diesem Hintergrund lernen Sie in diesem Artikel, wie Sie mit C++ Diagramme in Excel Dateien erstellen.

C++-API zum Erstellen von Excel-Diagrammen

Aspose.Cells for C++ ist eine native C++ Bibliothek, mit der Sie Excel Dateien erstellen, lesen und ändern können, ohne dass Microsoft Excel installiert sein muss. Die API unterstützt auch das Erstellen von Diagrammen in Excel Dateien. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.

PM> Install-Package Aspose.Cells.Cpp

Liniendiagramm in Excel mit C++ erstellen

Um ein Liniendiagramm zu erstellen, verwenden Sie beim Hinzufügen des Diagramms den Aufzählungswert ChartType\Line. Im Folgenden sind die Schritte zum Erstellen eines Liniendiagramms in einer Excel Datei aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Erstellen eines Liniendiagramms in Excel mithilfe von C++.

// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");

// Pfad der ausgegebenen Excel Datei
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Erstellen Sie eine neue Arbeitsmappe
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Holen Sie sich das erste Arbeitsblatt, das standardmäßig erstellt wird
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Hinzufügen von Beispielwerten zu Zellen
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);

// Hinzufügen eines Diagramms zum Arbeitsblatt
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Zugriff auf die Instanz des neu hinzugefügten Diagramms
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Hinzufügen von SeriesCollection (Diagrammdatenquelle) zum Diagramm im Bereich von „A1“-Zelle bis „B3“
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Speichern der Excel Datei
workbook->Save(outputChartTypeLine);
Liniendiagramm

Vom Beispielcode generiertes Liniendiagramm

Erstellen eines Pyramidendiagramms in Excel mit C++

Verwenden Sie zum Erstellen eines Pyramidendiagramms den Aufzählungswert ChartType\Pyramid, um den Diagrammtyp beim Hinzufügen des Diagramms anzugeben. Im Folgenden sind die Schritte zum Erstellen eines Pyramidendiagramms in einer Excel Datei aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Erstellen eines Pyramidendiagramms in Excel mithilfe von C++.

// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");

// Pfad der ausgegebenen Excel Datei
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Erstellen Sie eine neue Arbeitsmappe
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Holen Sie sich das erste Arbeitsblatt, das standardmäßig erstellt wird
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Hinzufügen von Beispielwerten zu Zellen
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);

// Hinzufügen eines Diagramms zum Arbeitsblatt
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Zugriff auf die Instanz des neu hinzugefügten Diagramms
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Hinzufügen von SeriesCollection (Diagrammdatenquelle) zum Diagramm im Bereich von „A1“-Zelle bis „B3“
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Speichern der Excel Datei
workbook->Save(outputChartTypePyramid);
Pyramidendiagramm

Durch den Beispielcode generiertes Pyramidendiagramm

Blasendiagramm in Excel mit C++ erstellen

Um ein Blasendiagramm zu erstellen, übergeben Sie den Aufzählungswert ChartType\Bubble an die Methode IWorksheet->GetICarts()->Add(). Im Folgenden sind die Schritte zum Erstellen eines Blasendiagramms in einer Excel Datei aufgeführt.

Im Folgenden finden Sie den Beispielcode zum Erstellen eines Blasendiagramms in Excel mithilfe von C++.

// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");

// Pfad der ausgegebenen Excel Datei
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Erstellen Sie eine neue Arbeitsmappe
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Holen Sie sich das erste Arbeitsblatt, das standardmäßig erstellt wird
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Geben Sie die Daten für die Reihe des Diagramms ein
// Y-Werte
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Y-Werte"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Blasengröße
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Blasengröße"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// X-Werte
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("X-Werte"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Legen Sie die Breite der ersten Spalte fest
worksheet->GetICells()->SetColumnWidth(0, 12);

// Hinzufügen eines Diagramms zum Arbeitsblatt
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Zugriff auf die Instanz des neu hinzugefügten Diagramms
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Hinzufügen von SeriesCollection (Diagrammdatenquelle) zum Diagramm im Bereich von B1 bis D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Stellen Sie Blasengrößen ein
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Stellen Sie die Werte der X-Achse ein
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Stellen Sie die Werte der Y-Achse ein
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Speichern der Excel Datei
workbook->Save(outputChartTypeBubble);
Blasendiagramm

Vom Beispielcode generiertes Blasendiagramm

Zusätzliche unterstützte Diagramme

Abgesehen von den oben gezeigten Diagrammen unterstützt Aspose.Cells for C++ viele zusätzliche Diagrammtypen. Sie können die vollständige Liste der unterstützten Diagramme anzeigen, indem Sie die Aufzählungswerte ChartType anzeigen.

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit C++ Diagramme in Excel-Tabellen erstellen. Insbesondere haben Sie gesehen, wie Sie Linien, Pyramiden und Blasendiagramme mit Aspose.Cells für die C++-API erstellen. Darüber hinaus haben Sie gesehen, dass die API eine große Anzahl anderer Diagramme unterstützt, die Sie in Ihren Excel Dateien erstellen können. Neben Diagrammen bietet die API viele zusätzliche Funktionen für die Arbeit mit Excel Dateien. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.

Siehe auch