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

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

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

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

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

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

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

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

Образец кода

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

from aspose.cells import BackgroundType, CellArea, ValidationType, Workbook
from aspose.cells.charts import ChartType
from aspose.pydrawing import Color
# How to Create a Dynamic Chart with Dropdownlist
# Your local test path
LocalPath = r""
# Create a new workbook and access the first worksheet.
workbook = Workbook()
sheets = workbook.worksheets
sheet = sheets[0]
# Populate the data for the chart. Add values to cells and set series names.
sheet.cells.get("A3").put_value("Tea")
sheet.cells.get("A4").put_value("Coffee")
sheet.cells.get("A5").put_value("Sugar")
# In this example, we will add 12 months of data
sheet.cells.get("B2").put_value("Jan")
sheet.cells.get("C2").put_value("Feb")
sheet.cells.get("D2").put_value("Mar")
sheet.cells.get("E2").put_value("Apr")
sheet.cells.get("F2").put_value("May")
sheet.cells.get("G2").put_value("Jun")
sheet.cells.get("H2").put_value("Jul")
sheet.cells.get("I2").put_value("Aug")
sheet.cells.get("J2").put_value("Sep")
sheet.cells.get("K2").put_value("Oct")
sheet.cells.get("L2").put_value("Nov")
sheet.cells.get("M2").put_value("Dec")
allMonths = 12
iCount = 3
for i in range(iCount):
for j in range(allMonths):
_row = i + 2
_column = j + 1
value = 50 * (i % 2) + 20 * (j % 3) + 10 * (i / 3) + 10
sheet.cells.get(_row, _column).put_value(value)
# This is the Dropdownlist for Dynamic Data
ca = CellArea()
ca.start_row = 9
ca.end_row = 9
ca.start_column = 0
ca.end_column = 0
_index = sheet.validations.add(ca)
_va = sheet.validations[_index]
_va.type = ValidationType.LIST
_va.in_cell_drop_down = True
_va.formula1 = "=$B$2:$M$2"
sheet.cells.get("A9").put_value("Current Month")
sheet.cells.get("A10").put_value("Jan")
_style = sheet.cells.get("A10").get_style()
_style.font.is_bold = True
_style.pattern = BackgroundType.SOLID
_style.foreground_color = Color.yellow
sheet.cells.get("A10").set_style(_style)
# Set the dynamic range for the chart's data source.
index = sheets.names.add("Sheet1!ChtMonthData")
sheets.names[index].refers_to = "=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].refers_to = "=Sheet1!$A$3:$A$5"
# Create a chart object and set its data source.
chartIndex = sheet.charts.add(ChartType.COLUMN, 8, 2, 20, 8)
chart = sheet.charts[chartIndex]
chart.n_series.add("month", True)
chart.n_series[0].name = "=Sheet1!$A$10"
chart.n_series[0].values = "Sheet1!ChtMonthData"
chart.n_series[0].x_values = "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)"

Вы можете попробовать изменить значение выпадающего списка в ячейке «Sheet1!$A$10», и вы увидите динамическое изменение диаграммы. Теперь мы успешно создали динамическую диаграмму с выпадающим списком, используя Aspose.Cells для Python via .NET.