-
Notifications
You must be signed in to change notification settings - Fork 465
excel chart funnel
A dedicated page for the funnel chart type. Funnel charts are part of
Excel's cx:chart (extended chart, Office 2016+) family. They display
values as progressively narrowing horizontal bars, ideal for pipeline
stages, conversion funnels, and filtering processes.
Path: /{SheetName}/chart[N]
Add command shape:
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=funnel \
--prop series1="Name:v1,v2,v3,..." \
--prop categories="Stage1,Stage2,Stage3,..." \
<styling props>See also: Chart - add, Chart - set, histogram for the full cx styling reference.
A funnel chart displays values as horizontal bars centered on a vertical axis, with each bar's width proportional to its value. Bars typically narrow from top to bottom, visualizing progressive reduction through pipeline stages (leads to won deals, visitors to subscribers, etc.).
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=funnel \
--prop title="Sales Funnel" \
--prop series1="Pipeline:1000,800,400,200,100" \
--prop categories="Leads,Qualified,Proposal,Negotiation,Won"Funnel has no unique properties beyond the shared cx vocabulary. All styling is done via the common cx knobs documented below.
| Property | Default | Notes |
|---|---|---|
x / y
|
0 |
Top-left cell position (column / row index) |
width |
8 |
Chart width in column units |
height |
15 |
Chart height in row units |
All cx:chart types (funnel, treemap, sunburst, boxWhisker, histogram) share these properties:
| Property | Default | Notes |
|---|---|---|
title |
— | Chart title text; none/false to hide |
title.color / titlecolor
|
— | Title font color (hex) |
title.size / titlesize
|
— | Title font size (pt) |
title.bold / titlebold
|
— | Title bold (true/false) |
title.font / titlefont
|
— | Title font family |
title.shadow / titleshadow
|
— | Title drop shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" or "none"
|
| Property | Default | Notes |
|---|---|---|
legend |
— |
top / bottom / left / right / none (omit legend) |
legend.overlay / legendoverlay
|
false |
Let the legend float on top of the plot area when true
|
legendfont / legend.font
|
— | Compound legend text styling: "size:color:fontname"
|
| Property | Default | Notes |
|---|---|---|
fill |
(theme) | Single hex color for all bars: "4472C4" or with #. Internally stored without #. |
colors |
(theme) | Comma-separated hex colors, cycled across bars/cells/segments |
series.shadow / seriesshadow
|
— | Outer drop shadow: "COLOR-BLUR-ANGLE-DIST-OPACITY" (e.g. "000000-6-45-3-35") or "none" to remove |
| Property | Default | Notes |
|---|---|---|
dataLabels |
false |
true draws the value on each element |
datalabels.numfmt / labelnumfmt
|
— | Excel format code: "0", "0.0", "0.00%", "#,##0", etc. |
These properties apply only to chart types with axes (histogram and boxWhisker). Funnel, treemap, and sunburst are axis-less — these properties are silently ignored on those types.
| Property | Default | Notes |
|---|---|---|
xAxisTitle |
— | Category (bottom) axis title |
yAxisTitle |
— | Value (left) axis title |
axisTitle.color |
— | Color for both axis titles (cx can't split per-axis) |
axisTitle.size |
— | Font size for both axis titles, in pt |
axisTitle.bold |
— | Bold both axis titles (true/false) |
axisTitle.font |
— | Font family for both axis titles |
axisfont / axis.font
|
— | Compound tick-label styling for both axes: "size:color:fontname", all fields optional |
tickLabels |
true |
Show tick labels on the axes |
| Property | Default | Notes |
|---|---|---|
axismin / min
|
(auto) | Value-axis lower bound (numeric) |
axismax / max
|
(auto) | Value-axis upper bound (numeric) |
majorunit |
(auto) | Major gridline interval |
minorunit |
(auto) | Minor gridline interval |
| Property | Default | Notes |
|---|---|---|
axis.visible / axisvisible
|
true |
Hide both axes when false. axis.delete is the inverse alias. |
cataxis.visible / cataxisvisible
|
true |
Hide only the category (bottom) axis |
valaxis.visible / valaxisvisible
|
true |
Hide only the value (left) axis |
axisline / axis.line
|
— | Spine outline shared by both axes: "color", "color:width", "color:width:dash", or "none"
|
cataxis.line / cataxisline
|
— | Category-axis-only spine |
valaxis.line / valaxisline
|
— | Value-axis-only spine |
| Property | Default | Notes |
|---|---|---|
gridlines / majorGridlines
|
true |
Toggle value-axis major gridlines |
gridlineColor / gridline.color
|
— | Value-axis gridline color (hex) |
xGridlines |
false |
Toggle category-axis major gridlines |
xGridlineColor / xGridline.color
|
— | Category-axis gridline color |
The plot area is the rectangle the data is drawn inside. The chart area is the outer frame that also contains the title, legend, and axis labels.
| Property | Default | Notes |
|---|---|---|
plotareafill / plotfill
|
— | Plot-area solid background: hex color |
plotarea.border / plotborder
|
— | Plot-area outline: "color", "color:width", "color:width:dash", or "none"
|
chartareafill / chartfill
|
— | Chart-area (outer frame) solid background: hex color |
chartarea.border / chartborder
|
— | Chart-area outline, same grammar as plotarea.border
|
Funnel charts have no axes and no gridlines. All axis-related
properties (xAxisTitle, yAxisTitle, axismin, gridlines, etc.)
are silently ignored on funnel charts. The stage labels shown alongside
bars are rendered from the categories data, not from an axis.
officecli add data.xlsx /Sheet1 --type chart \
--prop chartType=funnel \
--prop title="Conversion Funnel Q4 2025" \
--prop title.color=1B2838 --prop title.size=18 --prop title.bold=true \
--prop title.font="Helvetica Neue" \
--prop "title.shadow=000000-6-45-3-50" \
--prop series1="Users:10000,6000,3000,1500,500" \
--prop categories="Visit,Signup,Activate,Subscribe,Renew" \
--prop colors=2E86AB,3D9DC4,5BB5D5,7DCBE6,A0E0F0 \
--prop "series.shadow=000000-6-45-3-35" \
--prop dataLabels=true --prop "datalabels.numfmt=#,##0" \
--prop plotareafill=F8F9FA \
--prop "plotarea.border=DEE2E6:1" \
--prop chartareafill=FFFFFF \
--prop "chartarea.border=CED4DA:0.75" \
--prop legend=bottom \
--prop "legendfont=10:6C757D:Helvetica Neue" \
--prop x=0 --prop y=0 --prop width=14 --prop height=20| Feature | Preview | Notes |
|---|---|---|
| Centered horizontal bars | Yes | Width proportional to value |
| Category + value labels | Yes | |
| Series colors | Yes | |
| Plot/chart area fills | Yes |
-
No axes. Funnel charts are axis-less. Stage labels come from the
categoriesdata, not from a category axis. All axis-related properties are silently ignored. -
Single series only. Funnel charts accept exactly one series.
Additional
series2,series3, etc. are ignored. - Preview font fallback. The HTML preview renders bar colors and fills correctly but does not reproduce custom font families — labels fall back to the preview's default sans font. Use Excel for final typographic QA.
# Count all charts across the workbook
officecli query data.xlsx chart
# Introspect a single chart's bound properties
officecli get data.xlsx "/Sheet1/chart[1]"
# Render the sheet to HTML preview
officecli view data.xlsx html > preview.html- Chart — Overview of chart operations
- Chart add — Generic chart add (all 17 types)
- Chart set — Modify existing charts (incl. funnel)
- Chart get — Read back chart properties
- histogram — Full cx styling reference
- treemap — Hierarchical area
- sunburst — Hierarchical rings
- boxWhisker — Statistical distribution
Based on OfficeCLI v1.0.64