Créer des graphiques Excel C++

Les graphiques sont un excellent outil pour afficher des données de manière concise. De plus, ils représentent visuellement les données, ce qui facilite la consommation de grandes quantités de données. Les graphiques peuvent être utiles dans les situations où vous devez afficher des données telles que la comparaison mensuelle du budget ou le taux d’adoption du produit. À la lumière de cela, cet article vous apprendra comment créer des graphiques dans des fichiers Excel à l’aide de C++.

API C++ pour la création de graphiques Excel

Aspose.Cells for C++ est une bibliothèque C++ native qui vous permet de créer, lire et modifier des fichiers Excel sans nécessiter l’installation de Microsoft Excel. L’API prend également en charge la création de graphiques dans des fichiers Excel. Vous pouvez soit installer l’API via NuGet ou la télécharger directement à partir de la section Téléchargements.

PM> Install-Package Aspose.Cells.Cpp

Créer un graphique linéaire dans Excel à l’aide de C++

Pour créer un graphique en courbes, utilisez la valeur d’énumération ChartTypeLine lors de l’ajout du graphique. Voici les étapes pour créer un graphique linéaire dans un fichier Excel.

Voici l’exemple de code pour créer un graphique en courbes dans Excel à l’aide de C++.

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Chemin du fichier excel de sortie
StringPtr outputChartTypeLine = outDir->StringAppend(new String("outputChartTypeLine.xlsx"));

// Créer un nouveau classeur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Obtenir la première feuille de calcul créée par défaut
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Ajouter des exemples de valeurs aux cellules
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);

// Ajouter un graphique à la feuille de calcul
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Line, 5, 0, 20, 8);

// Accéder à l'instance du graphique nouvellement ajouté
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Ajout de SeriesCollection (source de données du graphique) au graphique allant de la cellule "A1" à "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Enregistrement du fichier Excel
workbook->Save(outputChartTypeLine);
Graphique en ligne

Graphique linéaire généré par l’exemple de code

Création d’un graphique pyramidal dans Excel à l’aide de C++

Pour créer un graphique pyramidal, utilisez la valeur d’énumération ChartTypePyramid pour spécifier le type de graphique lors de l’ajout du graphique. Voici les étapes pour créer un graphique pyramidal dans un fichier Excel.

Voici un exemple de code pour créer un graphique pyramidal dans Excel à l’aide de C++.

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Chemin du fichier excel de sortie
StringPtr outputChartTypePyramid = outDir->StringAppend(new String("outputChartTypePyramid.xlsx"));

// Créer un nouveau classeur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Obtenir la première feuille de calcul créée par défaut
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Ajouter des exemples de valeurs aux cellules
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);

// Ajouter un graphique à la feuille de calcul
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Pyramid, 5, 0, 20, 8);

// Accéder à l'instance du graphique nouvellement ajouté
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Ajout de SeriesCollection (source de données du graphique) au graphique allant de la cellule "A1" à "B3"
chart->GetNISeries()->Add(new String("A1:B3"), true);

// Enregistrement du fichier Excel
workbook->Save(outputChartTypePyramid);
Graphique pyramidal

Graphique pyramidal généré par l’exemple de code

Créer un graphique à bulles dans Excel en utilisant C++

Pour créer un graphique à bulles, transmettez la valeur d’énumération ChartTypeBubble à la méthode IWorksheet->GetICharts()->Add(). Voici les étapes pour créer un graphique à bulles dans un fichier Excel.

Voici l’exemple de code pour créer un graphique à bulles dans Excel à l’aide de C++.

// Chemin du répertoire de sortie.
StringPtr outDir = new String("OutputDirectory\\");

// Chemin du fichier excel de sortie
StringPtr outputChartTypeBubble = outDir->StringAppend(new String("outputChartTypeBubble.xlsx"));

// Créer un nouveau classeur
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Obtenir la première feuille de calcul créée par défaut
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Remplir les données pour la série du graphique
// Valeurs Y
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("Valeurs Y"));
worksheet->GetICells()->GetObjectByIndex(0, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(0, 2)->PutValue(4);
worksheet->GetICells()->GetObjectByIndex(0, 3)->PutValue(6);
// Taille de la bulle
worksheet->GetICells()->GetObjectByIndex(1, 0)->PutValue((StringPtr)new String("Taille de la bulle"));
worksheet->GetICells()->GetObjectByIndex(1, 1)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(1, 2)->PutValue(3);
worksheet->GetICells()->GetObjectByIndex(1, 3)->PutValue(1);
// Valeurs X
worksheet->GetICells()->GetObjectByIndex(2, 0)->PutValue((StringPtr)new String("Valeurs X"));
worksheet->GetICells()->GetObjectByIndex(2, 1)->PutValue(1);
worksheet->GetICells()->GetObjectByIndex(2, 2)->PutValue(2);
worksheet->GetICells()->GetObjectByIndex(2, 3)->PutValue(3);

// Définir la largeur de la première colonne
worksheet->GetICells()->SetColumnWidth(0, 12);

// Ajouter un graphique à la feuille de calcul
int chartIndex = worksheet->GetICharts()->Add(Aspose::Cells::Charts::ChartType::ChartType_Bubble, 5, 0, 20, 8);

// Accéder à l'instance du graphique nouvellement ajouté
intrusive_ptr<Aspose::Cells::Charts::IChart> chart = worksheet->GetICharts()->GetObjectByIndex(chartIndex);

// Ajout de SeriesCollection (source de données du graphique) au graphique allant de B1 à D1
chart->GetNISeries()->Add(new String("B1:D1"), true);

// Définir la taille des bulles
chart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes(new String("B2:D2"));

// Définir les valeurs de l'axe X
chart->GetNISeries()->GetObjectByIndex(0)->SetXValues(new String("B3:D3"));

// Définir les valeurs de l'axe Y
chart->GetNISeries()->GetObjectByIndex(0)->SetValues(new String("B1:D1"));

// Enregistrement du fichier Excel
workbook->Save(outputChartTypeBubble);
Graphique à bulles

Graphique à bulles généré par l’exemple de code

Graphiques supplémentaires pris en charge

Outre les graphiques ci-dessus, Aspose.Cells for C++ prend en charge de nombreux types de graphiques supplémentaires. Vous pouvez afficher la liste complète des graphiques pris en charge en affichant les valeurs d’énumération ChartType.

Obtenez une licence gratuite

Vous pouvez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à créer des graphiques dans des feuilles de calcul Excel à l’aide de C++. Plus précisément, vous avez vu comment créer des graphiques linéaires, pyramidaux et à bulles à l’aide de l’API Aspose.Cells for C++. De plus, vous avez vu que l’API prend en charge un grand nombre d’autres graphiques que vous pouvez créer dans vos fichiers Excel. Outre les graphiques, l’API fournit de nombreuses fonctionnalités supplémentaires pour travailler avec des fichiers Excel. Vous pouvez explorer l’API en détail en visitant la documentation officielle. En cas de questions, n’hésitez pas à nous contacter sur notre forum d’assistance gratuit.

Voir également