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
- Créer un graphique linéaire dans Excel à l’aide de C++
- Création d’un graphique pyramidal dans Excel à l’aide de C++
- Créer un graphique à bulles dans Excel en utilisant C++
- Graphiques supplémentaires pris en charge
- Obtenez une licence gratuite
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.
- Tout d’abord, créez une instance de la classe IWorkbook.
- Récupérez la feuille de calcul dans laquelle vous souhaitez ajouter le graphique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Insérez les données du graphique.
- Ajoutez le graphique à la feuille de calcul à l’aide de 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) méthode.
- Accédez au graphique avec son index à l’aide de la méthode IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Ajoutez la source de données pour le graphique à l’aide de IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) méthode.
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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);
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.
- Tout d’abord, créez une instance de la classe IWorkbook.
- Récupérez la feuille de calcul dans laquelle vous souhaitez ajouter le graphique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Insérez les données du graphique.
- Ajoutez le graphique à la feuille de calcul à l’aide de 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) méthode.
- Accédez au graphique avec son index à l’aide de la méthode IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Ajoutez la source de données pour le graphique à l’aide de IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical) méthode.
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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);
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.
- Tout d’abord, créez une instance de la classe IWorkbook.
- Récupérez la feuille de calcul dans laquelle vous souhaitez ajouter le graphique à l’aide de la méthode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Insérez les données du graphique.
- Ajoutez le graphique à la feuille de calcul à l’aide de 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) méthode.
- Accédez au graphique avec son index à l’aide de la méthode IWorksheet->GetICharts()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Ajoutez la source de données, la taille des bulles, les valeurs X et les valeurs Y pour le graphique à l’aide de IChart->GetNISeries()->Add (intrusiveptrAspose::Cells::Systems::String area, bool isVertical), IChart->GetNISeries()->GetObjectByIndex(0)->SetBubbleSizes (intrusiveptrAspose::Cells::Systems::String value), IChart->GetNISeries()->GetObjectByIndex(0)->SetXValues (intrusiveptrAspose::Cells::Systems::String value), IChart->GetNISeries()->GetObjectByIndex(0)->SetValues (intrusiveptrAspose::Cells::Systems::String valeur) méthodes respectivement.
- Enfin, enregistrez le fichier Excel à l’aide de IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nom_fichier) méthode.
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);
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.