Как создать динамическую диаграмму с выпадающим списком

Возможные сценарии использования

Динамическая диаграмма с выпадающим списком в Excel - мощный инструмент, позволяющий пользователям создавать интерактивные диаграммы, которые могут динамически обновляться на основе выбранных данных. Эта функция особенно полезна в ситуациях, где необходимо проанализировать несколько наборов данных или сравнить различные сценарии.

Одно из распространенных применений динамической диаграммы с выпадающим списком - в финансовом анализе. Например, компания может иметь несколько наборов финансовых данных для разных лет или отделов. Используя выпадающий список, пользователи могут выбрать конкретный набор данных, который они хотят проанализировать, и диаграмма автоматически обновится, чтобы отобразить соответствующую информацию. Это позволяет легко сравнивать и идентифицировать тенденции или закономерности.

Еще одно применение - в продажах и маркетинге. У компании может быть данные о продажах различных товаров или регионов. С помощью динамической диаграммы с выпадающим списком пользователи могут выбрать конкретный товар или регион из выпадающего списка, и диаграмма будет динамически обновляться, чтобы показать результаты продаж для выбранной опции. Это помогает определить лучшие области или продукты и принимать решения на основе данных.

В заключение, динамическая диаграмма с выпадающим списком в Excel обеспечивает гибкий и интерактивный способ визуализации и анализа данных. Он ценен в ситуациях, где необходимо сравнивать несколько наборов данных или изучать различные сценарии, что делает его универсальным инструментом для финансового анализа, продаж и маркетинга, а также многих других приложений.

Используйте Aspose Cells для создания динамической диаграммы с выпадающим списком

В следующих абзацах мы покажем вам, как создать динамическую диаграмму с выпадающим списком с использованием Aspose.Cells. Мы покажем вам код для примера, а также созданный этим кодом файл Excel.

Образец кода

Следующий образец кода сгенерирует файл Динамическая диаграмма с выпадающим списком.

//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");

Примечания

В сгенерированном файле диаграмма динамически будет подсчитывать данные для выбранного месяца. Это делается с помощью формулы “OFFSET” в образцовом коде:

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

Вы можете попробовать изменить значение выпадающего списка в ячейке “Лист1!$A$10”, и вы увидите динамическое изменение диаграммы. Теперь мы успешно создали динамическую диаграмму с выпадающим списком с использованием Aspose.Cells.