Как создать динамическую диаграмму с выпадающим списком
Возможные сценарии использования
Динамическая диаграмма с выпадающим списком в 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.