In Development: Excel chart support in the ACF-Plugin
We’re close to shipping full Excel chart support alongside the Excel report features that already exist in the ACF-Plugin.
Over the last months we’ve added a bunch of Excel report functions that generate styled workbooks. The missing piece was charts on the sheets. Sure—you can add charts manually in Excel after the report is created. But now we’re generating them directly from ACF, so your workbook is complete the moment it’s built.
You simply define a JSON object with the chart parameters, then call:
Excel_PlaceChart(sheet; jsonOptions)
…and the chart appears at the position and size you specify in jsonOptions.
Below is a screenshot showing three example charts:

The options for the doughnut chart shown are created like this (using the ACF JSON builder functions):
JSON chartOptions = JSON(
"type", "doughnut",
"name", "Sales by Quarter",
"anchor", JSON(
"col", 5,
"row", 3,
"width", 60,
"height", 60
),
"series", JSONarray(
JSON(
"name", "2024",
"categories", Excel_SheetAddress(sheetName, -startTable, -1, -endTable, -1), //"Sheet1!$A$2:$A$13",
"values", Excel_SheetAddress(sheetName, -startTable, -2, -endTable, -2),//"Sheet1!$B$2:$B$13",
"colors", JSONarray("red", "green", "yellow", "blue"),
"coloralpha", 0.5,
"dataLabels", JSON ("show", true,"showSeriesName", true,
"showCategoryName", true, "showLeaderLines", true)
),
JSON(
"name", "2025",
"categories", Excel_SheetAddress(sheetName, -startTable, -1, -endTable, -1), //"Sheet1!$A$2:$A$13",
"values", Excel_SheetAddress(sheetName, -startTable, -3, -endTable, -3),//"Sheet1!$B$2:$B$13",
"colors", JSONarray("red", "green", "yellow", "blue"),
"dataLabels", JSON ("show", true,"showSeriesName", true,
"showCategoryName", true, "showLeaderLines", true)
)
),
"legend", JSON(
"show", true,
"overlay", false,
"position", "bottom",
"fill", JSON(
"rgb", "yellow", "alpha", 0.2
)
),
"plotArea", JSON(
"fill", JSON(
"color", "grey",
"tint", 0.85,
"alpha", 0.5
),
"line", JSON(
"color", "blue"
)
)
);
EXCEL_PlaceChart(s, jsonOptions);
Highlights (what’s working today)
- Chart types: Column/Bar, Line, Pie/Doughnut, and Scatter are implemented first.
- Placement: Charts are positioned with the same user-units you already use for images.
- Styling:
- Series-level
fill/line(color, tint, alpha, widthPt). - Per-point colors for category charts via
series.colorsorseries.points[]. - Legend and plot area background/line styling.
- Series-level
- Labels: Per-series data-label options (show category, value, percent, series name, separator, leader lines).
- Color pipeline: Named colors → hex → optional alpha/tint are normalized consistently across the plugin.
- For doughnut/pie, you can give a color list and a shared
coloralphato make the outer/inner rings visually distinct.
- For doughnut/pie, you can give a color list and a shared
Notes & current limitations
- Doughnut label position: Some Excel builds are picky about
<c:dLblPos>on doughnut charts. You can still drag labels to your preferred position in Excel. We’ll keep iterating here. - No axes on doughnut/pie: That’s by design in Excel. Use data labels and legend; if you want captions in the center, we’ll add a textbox overlay helper.
- More chart types coming: Radar, Bubble, Stock, etc., are on the roadmap.
