Comment créer un graphique dynamique avec liste déroulante

Scénarios d’utilisation possibles

Un graphique dynamique avec liste déroulante dans Excel est un outil puissant qui permet aux utilisateurs de créer des graphiques interactifs qui peuvent se mettre à jour dynamiquement en fonction des données sélectionnées. Cette fonctionnalité est particulièrement utile dans les situations où il est nécessaire d’analyser de multiples ensembles de données ou de comparer divers scénarios.

Une application courante d’un graphique dynamique avec liste déroulante est l’analyse financière. Par exemple, une entreprise peut avoir plusieurs ensembles de données financières pour différentes années ou départements. En utilisant une liste déroulante, les utilisateurs peuvent sélectionner l’ensemble de données spécifique qu’ils souhaitent analyser, et le graphique se mettra automatiquement à jour pour afficher les informations correspondantes. Cela permet de comparer facilement et d’identifier les tendances ou schémas.

Une autre application se trouve dans les ventes et le marketing. Une entreprise peut avoir des données de vente pour différents produits ou régions. Avec un graphique dynamique avec liste déroulante, les utilisateurs peuvent choisir un produit ou une région spécifique dans la liste déroulante, et le graphique se mettra à jour dynamiquement pour afficher les performances de vente pour l’option sélectionnée. Cela aide à identifier les zones ou produits les plus performants et à prendre des décisions basées sur les données.

En résumé, un graphique dynamique avec liste déroulante dans Excel offre un moyen flexible et interactif de visualiser et d’analyser les données. Il est précieux dans les situations où il est nécessaire de comparer plusieurs ensembles de données ou d’explorer différents scénarios, ce qui en fait un outil polyvalent pour l’analyse financière, les ventes et le marketing, et de nombreuses autres applications.

Utilisez Aspose Cells pour créer un graphique dynamique avec liste déroulante

Dans les prochains paragraphes, nous vous montrerons comment créer un graphique dynamique avec une liste déroulante à l’aide d’Aspose.Cells. Nous vous montrerons le code de l’exemple, ainsi que le fichier Excel créé avec ce code.

Code d’exemple

Le code d’exemple suivant générera le fichier Dynamic Chart with Dropdownlist.

//How to Create a Dynamic Chart with Dropdownlist
//Your local test path
string LocalPath = @"";
//Create a new workbook and access the first worksheet.
Workbook workbook = new Workbook();
WorksheetCollection sheets = workbook.Worksheets;
Worksheet sheet = sheets[0];
//Populate the data for the chart. Add values to cells and set series names.
sheet.Cells["A3"].PutValue("Tea");
sheet.Cells["A4"].PutValue("Coffee");
sheet.Cells["A5"].PutValue("Sugar");
//In this example, we will add 12 months of data
sheet.Cells["B2"].PutValue("Jan");
sheet.Cells["C2"].PutValue("Feb");
sheet.Cells["D2"].PutValue("Mar");
sheet.Cells["E2"].PutValue("Apr");
sheet.Cells["F2"].PutValue("May");
sheet.Cells["G2"].PutValue("Jun");
sheet.Cells["H2"].PutValue("Jul");
sheet.Cells["I2"].PutValue("Aug");
sheet.Cells["J2"].PutValue("Sep");
sheet.Cells["K2"].PutValue("Oct");
sheet.Cells["L2"].PutValue("Nov");
sheet.Cells["M2"].PutValue("Dec");
int allMonths = 12;
int iCount = 3;
for (int i = 0; i < iCount; i++)
{
for (int j = 0; j < allMonths; j++)
{
int _row = i + 2;
int _column = j + 1;
sheet.Cells[_row, _column].PutValue(50 * (i % 2) + 20 * (j % 3) + 10 * (i / 3) + 10);
}
}
//This is the Dropdownlist for Dynamic Data
CellArea ca = new CellArea();
ca.StartRow = 9;
ca.EndRow = 9;
ca.StartColumn = 0;
ca.EndColumn = 0;
int _index = sheet.Validations.Add(ca);
Validation _va = sheet.Validations[_index];
_va.Type = Aspose.Cells.ValidationType.List;
_va.InCellDropDown = true;
_va.Formula1 = "=$B$2:$M$2";
sheet.Cells["A9"].PutValue("Current Month");
sheet.Cells["A10"].PutValue("Jan");
Style _style = sheet.Cells["A10"].GetStyle();
_style.Font.IsBold = true;
_style.Pattern = BackgroundType.Solid;
_style.ForegroundColor = Color.Yellow;
sheet.Cells["A10"].SetStyle(_style);
//Set the dynamic range for the chart's data source.
int index = sheets.Names.Add("Sheet1!ChtMonthData");
sheets.Names[index].RefersTo = "=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)";
//Set the dynamic range for the chart's data labels.
index = sheets.Names.Add("Sheet1!ChtXLabels");
sheets.Names[index].RefersTo = "=Sheet1!$A$3:$A$5";
//Create a chart object and set its data source.
int chartIndex = sheet.Charts.Add(ChartType.Column, 8, 2, 20, 8);
Chart chart = sheet.Charts[chartIndex];
chart.NSeries.Add("month", true);
chart.NSeries[0].Name = "=Sheet1!$A$10";
chart.NSeries[0].Values = "Sheet1!ChtMonthData";
chart.NSeries[0].XValues = "Sheet1!ChtXLabels";
//Save the workbook as an Excel file.
workbook.Save(LocalPath + "DynamicChartWithDropdownlist.xlsx");

Remarques

Dans le fichier généré, le graphique comptera dynamiquement les données pour le mois sélectionné. Cela est fait en utilisant la formule “OFFSET” dans le code d’exemple :

"=OFFSET(Sheet1!$A$3,0,MATCH($A$10, $B$2:$M$2, 0),3,1)"

Vous pouvez essayer de changer la valeur de la liste déroulante dans la cellule “Sheet1!$A$10”, et vous verrez le changement dynamique du graphique. Nous avons maintenant créé avec succès un graphique dynamique avec liste déroulante en utilisant Aspose.Cells.