8cb1f9f479
Publish SDK (PyPI) / publish (push) Waiting to run
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/sdk) (push) Waiting to run
Publish SDK (npm) / publish (officecli-sdk) (push) Waiting to run
SDK smoke / smoke (windows-latest) (push) Waiting to run
SDK smoke / smoke (macos-latest) (push) Waiting to run
SDK smoke / smoke (ubuntu-latest) (push) Waiting to run
Skill parity / diff (push) Waiting to run
442 lines
21 KiB
Bash
Executable File
442 lines
21 KiB
Bash
Executable File
#!/bin/bash
|
|
# Basic Charts Showcase — column, bar, line, and area charts with all variations.
|
|
# Generates: charts-basic.xlsx
|
|
#
|
|
# CLI twin of charts-basic.py (officecli Python SDK). Both produce an
|
|
# equivalent charts-basic.xlsx. See charts-basic.md for a guide to each sheet.
|
|
#
|
|
# Usage: ./charts-basic.sh
|
|
# NOTE: intentionally NO `set -e`. Like the SDK twin's doc.batch, this script
|
|
# tolerates forward-compat 'UNSUPPORTED props' warnings (officecli exit 2) and
|
|
# keeps building so the full document is produced.
|
|
FILE="$(dirname "$0")/charts-basic.xlsx"
|
|
rm -f "$FILE"
|
|
|
|
officecli create "$FILE"
|
|
officecli open "$FILE"
|
|
|
|
# ==========================================================================
|
|
# Source data — shared across all charts
|
|
# ==========================================================================
|
|
echo "--- Populating source data ---"
|
|
officecli set "$FILE" /Sheet1/A1 --prop text=Month --prop bold=true
|
|
officecli set "$FILE" /Sheet1/B1 --prop text=East --prop bold=true
|
|
officecli set "$FILE" /Sheet1/C1 --prop text=South --prop bold=true
|
|
officecli set "$FILE" /Sheet1/D1 --prop text=North --prop bold=true
|
|
officecli set "$FILE" /Sheet1/E1 --prop text=West --prop bold=true
|
|
|
|
officecli set "$FILE" /Sheet1/A2 --prop text=Jan ; officecli set "$FILE" /Sheet1/B2 --prop text=120 ; officecli set "$FILE" /Sheet1/C2 --prop text=95 ; officecli set "$FILE" /Sheet1/D2 --prop text=88 ; officecli set "$FILE" /Sheet1/E2 --prop text=110
|
|
officecli set "$FILE" /Sheet1/A3 --prop text=Feb ; officecli set "$FILE" /Sheet1/B3 --prop text=135 ; officecli set "$FILE" /Sheet1/C3 --prop text=108 ; officecli set "$FILE" /Sheet1/D3 --prop text=92 ; officecli set "$FILE" /Sheet1/E3 --prop text=118
|
|
officecli set "$FILE" /Sheet1/A4 --prop text=Mar ; officecli set "$FILE" /Sheet1/B4 --prop text=148 ; officecli set "$FILE" /Sheet1/C4 --prop text=115 ; officecli set "$FILE" /Sheet1/D4 --prop text=105 ; officecli set "$FILE" /Sheet1/E4 --prop text=130
|
|
officecli set "$FILE" /Sheet1/A5 --prop text=Apr ; officecli set "$FILE" /Sheet1/B5 --prop text=162 ; officecli set "$FILE" /Sheet1/C5 --prop text=128 ; officecli set "$FILE" /Sheet1/D5 --prop text=118 ; officecli set "$FILE" /Sheet1/E5 --prop text=145
|
|
officecli set "$FILE" /Sheet1/A6 --prop text=May ; officecli set "$FILE" /Sheet1/B6 --prop text=155 ; officecli set "$FILE" /Sheet1/C6 --prop text=142 ; officecli set "$FILE" /Sheet1/D6 --prop text=125 ; officecli set "$FILE" /Sheet1/E6 --prop text=138
|
|
officecli set "$FILE" /Sheet1/A7 --prop text=Jun ; officecli set "$FILE" /Sheet1/B7 --prop text=178 ; officecli set "$FILE" /Sheet1/C7 --prop text=155 ; officecli set "$FILE" /Sheet1/D7 --prop text=138 ; officecli set "$FILE" /Sheet1/E7 --prop text=162
|
|
officecli set "$FILE" /Sheet1/A8 --prop text=Jul ; officecli set "$FILE" /Sheet1/B8 --prop text=195 ; officecli set "$FILE" /Sheet1/C8 --prop text=168 ; officecli set "$FILE" /Sheet1/D8 --prop text=145 ; officecli set "$FILE" /Sheet1/E8 --prop text=175
|
|
officecli set "$FILE" /Sheet1/A9 --prop text=Aug ; officecli set "$FILE" /Sheet1/B9 --prop text=210 ; officecli set "$FILE" /Sheet1/C9 --prop text=175 ; officecli set "$FILE" /Sheet1/D9 --prop text=152 ; officecli set "$FILE" /Sheet1/E9 --prop text=190
|
|
officecli set "$FILE" /Sheet1/A10 --prop text=Sep ; officecli set "$FILE" /Sheet1/B10 --prop text=188 ; officecli set "$FILE" /Sheet1/C10 --prop text=160 ; officecli set "$FILE" /Sheet1/D10 --prop text=140 ; officecli set "$FILE" /Sheet1/E10 --prop text=170
|
|
officecli set "$FILE" /Sheet1/A11 --prop text=Oct ; officecli set "$FILE" /Sheet1/B11 --prop text=172 ; officecli set "$FILE" /Sheet1/C11 --prop text=148 ; officecli set "$FILE" /Sheet1/D11 --prop text=130 ; officecli set "$FILE" /Sheet1/E11 --prop text=155
|
|
officecli set "$FILE" /Sheet1/A12 --prop text=Nov ; officecli set "$FILE" /Sheet1/B12 --prop text=165 ; officecli set "$FILE" /Sheet1/C12 --prop text=135 ; officecli set "$FILE" /Sheet1/D12 --prop text=122 ; officecli set "$FILE" /Sheet1/E12 --prop text=148
|
|
officecli set "$FILE" /Sheet1/A13 --prop text=Dec ; officecli set "$FILE" /Sheet1/B13 --prop text=198 ; officecli set "$FILE" /Sheet1/C13 --prop text=158 ; officecli set "$FILE" /Sheet1/D13 --prop text=142 ; officecli set "$FILE" /Sheet1/E13 --prop text=180
|
|
|
|
# ==========================================================================
|
|
# Sheet: 1-Column Charts
|
|
# ==========================================================================
|
|
echo "--- 1-Column Charts ---"
|
|
officecli add "$FILE" / --type sheet --prop name="1-Column Charts"
|
|
|
|
# Chart 1: Basic clustered column from cell range with axis titles
|
|
# Features: chartType=column, dataRange, catTitle, axisTitle, axisfont, gridlines
|
|
officecli add "$FILE" "/1-Column Charts" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Regional Sales by Month" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop catTitle=Month --prop axisTitle=Sales \
|
|
--prop axisfont=9:58626E:Arial \
|
|
--prop gridlines=D9D9D9:0.5:dot
|
|
|
|
# Chart 2: Stacked column with custom colors, data labels, and gap control
|
|
# Features: columnStacked, colors, dataLabels, labelPos, gapwidth, series.outline
|
|
officecli add "$FILE" "/1-Column Charts" --type chart \
|
|
--prop chartType=columnStacked \
|
|
--prop title="Stacked Regional Sales" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop colors=2E75B6,70AD47,FFC000,C00000 \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop dataLabels=true --prop labelPos=center \
|
|
--prop gapwidth=60 \
|
|
--prop series.outline=FFFFFF-0.5
|
|
|
|
# Chart 3: 100% stacked column with legend position and plotFill
|
|
# Features: columnPercentStacked, legend=bottom, legendfont, plotFill
|
|
officecli add "$FILE" "/1-Column Charts" --type chart \
|
|
--prop chartType=columnPercentStacked \
|
|
--prop title="Market Share by Month" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop legend=bottom \
|
|
--prop legendfont=9:8B949E \
|
|
--prop plotFill=F5F5F5
|
|
|
|
# Chart 4: 3D column with perspective and title styling
|
|
# Features: column3d, view3d (rotX,rotY,perspective), title.font/size/color/bold
|
|
officecli add "$FILE" "/1-Column Charts" --type chart \
|
|
--prop chartType=column3d \
|
|
--prop title="3D Regional Sales" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop view3d=15,20,30 \
|
|
--prop title.font=Calibri --prop title.size=16 \
|
|
--prop title.color=1F4E79 --prop title.bold=true
|
|
|
|
# ==========================================================================
|
|
# Sheet: 2-Bar Charts
|
|
# ==========================================================================
|
|
echo "--- 2-Bar Charts ---"
|
|
officecli add "$FILE" / --type sheet --prop name="2-Bar Charts"
|
|
|
|
# Chart 1: Horizontal bar with inline data and gapwidth
|
|
# Features: bar, inline data (Name:v1;Name2:v2), gapwidth, labelPos=outsideEnd
|
|
officecli add "$FILE" "/2-Bar Charts" --type chart \
|
|
--prop chartType=bar \
|
|
--prop title="Q4 Sales by Region" \
|
|
--prop 'data=East:198;South:158;North:142;West:180' \
|
|
--prop categories=East,South,North,West \
|
|
--prop colors=2E75B6,70AD47,FFC000,C00000 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop gapwidth=80 \
|
|
--prop dataLabels=true --prop labelPos=outsideEnd
|
|
|
|
# Chart 2: Stacked bar with named series and overlap
|
|
# Features: barStacked, named series (series1=Name:v1,v2), overlap
|
|
officecli add "$FILE" "/2-Bar Charts" --type chart \
|
|
--prop chartType=barStacked \
|
|
--prop title="H1 vs H2 Sales" \
|
|
--prop series1=H1:663,598,528,661 \
|
|
--prop series2=H2:833,718,669,868 \
|
|
--prop categories=East,South,North,West \
|
|
--prop colors=4472C4,ED7D31 \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop dataLabels=true --prop labelPos=center \
|
|
--prop gapwidth=50 --prop overlap=0
|
|
|
|
# Chart 3: 100% stacked bar with reference line
|
|
# Note: on a barPercentStacked chart, the value axis is 0-1 (displayed as 0%-100%),
|
|
# so a 50% reference line must be written as 0.5 — not 50.
|
|
# referenceLine supports: value | value:color | value:color:label
|
|
# | value:color:width:dash | value:color:label:dash (legacy)
|
|
# | value:color:width:dash:label (canonical). Width is in points; default 1.5pt.
|
|
# Features: barPercentStacked, referenceLine, axisLine, catAxisLine
|
|
officecli add "$FILE" "/2-Bar Charts" --type chart \
|
|
--prop chartType=barPercentStacked \
|
|
--prop title="Regional Contribution %" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop referenceLine=0.5:FF0000:Target:dash \
|
|
--prop axisLine=333333:1:solid \
|
|
--prop catAxisLine=333333:1:solid
|
|
|
|
# Chart 4: 3D bar with chart area fill and display units
|
|
# Features: bar3d, chartFill (chart area background), style/styleId (preset 1-48)
|
|
officecli add "$FILE" "/2-Bar Charts" --type chart \
|
|
--prop chartType=bar3d \
|
|
--prop title="3D Regional Comparison" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop view3d=10,30,20 \
|
|
--prop chartFill=F2F2F2 \
|
|
--prop style=3
|
|
|
|
# ==========================================================================
|
|
# Sheet: 3-Line Charts
|
|
# ==========================================================================
|
|
echo "--- 3-Line Charts ---"
|
|
officecli add "$FILE" / --type sheet --prop name="3-Line Charts"
|
|
|
|
# Chart 1: Line with markers and cell-range series (dotted syntax)
|
|
# Features: series.name/values/categories (cell range), marker (style:size:color),
|
|
# gridlines, minorGridlines
|
|
officecli add "$FILE" "/3-Line Charts" --type chart \
|
|
--prop chartType=line \
|
|
--prop title="East Region Trend" \
|
|
--prop series1.name=East \
|
|
--prop series1.values=Sheet1!B2:B13 \
|
|
--prop series1.categories=Sheet1!A2:A13 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop showMarkers=true --prop marker=circle:6:2E75B6 \
|
|
--prop gridlines=D9D9D9:0.5:dot \
|
|
--prop minorGridlines=EEEEEE:0.3:dot
|
|
|
|
# Chart 2: Smooth line with custom width and no gridlines
|
|
# Features: smooth, lineWidth, gridlines=none, series.shadow (color-blur-angle-dist-opacity)
|
|
officecli add "$FILE" "/3-Line Charts" --type chart \
|
|
--prop chartType=line \
|
|
--prop title="Smoothed Sales Trend" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop smooth=true --prop lineWidth=2.5 \
|
|
--prop colors=0070C0,00B050,FFC000,FF0000 \
|
|
--prop gridlines=none \
|
|
--prop series.shadow=000000-4-315-2-40
|
|
|
|
# Chart 3: Stacked line
|
|
# Features: lineStacked, majorTickMark, tickLabelPos
|
|
officecli add "$FILE" "/3-Line Charts" --type chart \
|
|
--prop chartType=lineStacked \
|
|
--prop title="Cumulative Sales" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop catTitle=Month --prop axisTitle=Cumulative \
|
|
--prop majorTickMark=outside --prop tickLabelPos=low
|
|
|
|
# Chart 4: Line with dashed lines, data table, and hidden legend
|
|
# Features: lineDash (solid/dot/dash/dashdot/longdash), dataTable, legend=none
|
|
officecli add "$FILE" "/3-Line Charts" --type chart \
|
|
--prop chartType=line \
|
|
--prop title="Trend with Data Table" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop lineDash=dash --prop lineWidth=1.5 \
|
|
--prop dataTable=true \
|
|
--prop legend=none
|
|
|
|
# ==========================================================================
|
|
# Sheet: 4-Area Charts
|
|
# ==========================================================================
|
|
echo "--- 4-Area Charts ---"
|
|
officecli add "$FILE" / --type sheet --prop name="4-Area Charts"
|
|
|
|
# Chart 1: Area with transparency and gradient fill
|
|
# Features: area, transparency (0-100%), gradient (color1-color2:angle)
|
|
officecli add "$FILE" "/4-Area Charts" --type chart \
|
|
--prop chartType=area \
|
|
--prop title="Sales Volume" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop transparency=40 \
|
|
--prop gradient=4472C4-BDD7EE:90
|
|
|
|
# Chart 2: Stacked area with plotFill and rounded corners
|
|
# Features: areaStacked, plotFill, roundedCorners
|
|
officecli add "$FILE" "/4-Area Charts" --type chart \
|
|
--prop chartType=areaStacked \
|
|
--prop title="Stacked Volume" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop plotFill=F5F5F5 \
|
|
--prop roundedCorners=true \
|
|
--prop transparency=30
|
|
|
|
# Chart 3: 100% stacked area with axis control
|
|
# Features: areaPercentStacked, axisVisible, axisLine
|
|
officecli add "$FILE" "/4-Area Charts" --type chart \
|
|
--prop chartType=areaPercentStacked \
|
|
--prop title="Regional Mix %" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop transparency=20 \
|
|
--prop axisVisible=true \
|
|
--prop axisLine=999999:0.5:solid
|
|
|
|
# Chart 4: 3D area with perspective
|
|
# Features: area3d, view3d
|
|
officecli add "$FILE" "/4-Area Charts" --type chart \
|
|
--prop chartType=area3d \
|
|
--prop title="3D Sales Volume" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop view3d=20,25,15 \
|
|
--prop colors=5B9BD5,A5D5A5,FFD966,F4B183
|
|
|
|
# ==========================================================================
|
|
# Sheet: 5-Styling
|
|
# Demonstrates all styling/layout properties on a single column chart
|
|
# ==========================================================================
|
|
echo "--- 5-Styling ---"
|
|
officecli add "$FILE" / --type sheet --prop name="5-Styling"
|
|
|
|
# Chart 1: Fully styled column chart — title, legend, axis, series effects
|
|
# Features: title.font/size/color/bold/shadow, legendfont, axisfont,
|
|
# series.outline, series.shadow, roundedCorners, referenceLine
|
|
officecli add "$FILE" "/5-Styling" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Fully Styled Chart" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=0 --prop y=0 --prop width=14 --prop height=20 \
|
|
--prop title.font=Georgia --prop title.size=18 \
|
|
--prop title.color=1F4E79 --prop title.bold=true \
|
|
--prop title.shadow=000000-3-315-2-30 \
|
|
--prop legendfont=10:444444:Helvetica \
|
|
--prop legend=right \
|
|
--prop axisfont=9:58626E:Arial \
|
|
--prop catTitle=Month --prop axisTitle=Revenue \
|
|
--prop gridlines=CCCCCC:0.5:dot \
|
|
--prop plotFill=FAFAFA \
|
|
--prop chartFill=FFFFFF \
|
|
--prop series.outline=FFFFFF-0.5 \
|
|
--prop series.shadow=000000-3-315-2-25 \
|
|
--prop gapwidth=100 \
|
|
--prop roundedCorners=true \
|
|
--prop referenceLine=160:FF0000:1:dash \
|
|
--prop colors=4472C4,ED7D31,70AD47,FFC000
|
|
|
|
# Chart 2: Column with secondary axis (dual Y-axis)
|
|
# Features: secondaryAxis (comma-separated 1-based series indices for second Y-axis)
|
|
officecli add "$FILE" "/5-Styling" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Sales vs Growth Rate" \
|
|
--prop series1=Sales:120,135,148,162 \
|
|
--prop series2=Growth:5.2,8.1,12.3,15.6 \
|
|
--prop categories=Q1,Q2,Q3,Q4 \
|
|
--prop x=15 --prop y=0 --prop width=10 --prop height=20 \
|
|
--prop secondaryAxis=2 \
|
|
--prop colors=4472C4,FF0000
|
|
|
|
# Chart 3: Column with individual point colors and inverted negatives
|
|
# Features: point{N}.color (per-point coloring), invertIfNeg
|
|
officecli add "$FILE" "/5-Styling" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Quarterly P&L" \
|
|
--prop 'series1=P&L:500,300,-200,800' \
|
|
--prop categories=Q1,Q2,Q3,Q4 \
|
|
--prop x=0 --prop y=21 --prop width=10 --prop height=18 \
|
|
--prop point1.color=70AD47 --prop point2.color=70AD47 \
|
|
--prop point3.color=FF0000 --prop point4.color=70AD47 \
|
|
--prop invertIfNeg=true \
|
|
--prop dataLabels=true --prop labelPos=outsideEnd
|
|
|
|
# Chart 4: Line with gradient plot area and custom data labels
|
|
# Features: plotFill gradient (color1-color2:angle), marker styles (diamond),
|
|
# dataLabels.numFmt, dataLabel{N}.text (custom text for one label)
|
|
officecli add "$FILE" "/5-Styling" --type chart \
|
|
--prop chartType=line \
|
|
--prop title="Custom Labels Demo" \
|
|
--prop series1=Revenue:100,200,300,250 \
|
|
--prop categories=Q1,Q2,Q3,Q4 \
|
|
--prop x=11 --prop y=21 --prop width=14 --prop height=18 \
|
|
--prop plotFill=E8F0FE-FFFFFF:90 \
|
|
--prop showMarkers=true --prop marker=diamond:8:4472C4 \
|
|
--prop lineWidth=2 \
|
|
--prop dataLabels=true --prop labelPos=top \
|
|
--prop dataLabels.numFmt=#,##0 \
|
|
--prop dataLabel3.text=Peak!
|
|
|
|
# ==========================================================================
|
|
# Sheet: 6-Layout
|
|
# Manual layout of plot area, title, legend; axis orientation; log scale;
|
|
# display units; label font and separator; error bars
|
|
# ==========================================================================
|
|
echo "--- 6-Layout ---"
|
|
officecli add "$FILE" / --type sheet --prop name="6-Layout"
|
|
|
|
# Chart 1: Manual layout positioning of plot area, title, legend
|
|
# Features: plotArea.x/y/w/h (0-1 fraction), title.x/y, legend.x/y, legend.overlay
|
|
officecli add "$FILE" "/6-Layout" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Manual Layout" \
|
|
--prop dataRange=Sheet1!A1:C13 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop plotArea.x=0.15 --prop plotArea.y=0.15 \
|
|
--prop plotArea.w=0.7 --prop plotArea.h=0.7 \
|
|
--prop title.x=0.3 --prop title.y=0.01 \
|
|
--prop legend.x=0.02 --prop legend.y=0.4 \
|
|
--prop legend.overlay=true
|
|
|
|
# Chart 2: Reversed axis, log scale, display units
|
|
# Features: logBase (logarithmic scale), axisOrientation=maxMin (reversed),
|
|
# dispUnits (thousands/millions)
|
|
officecli add "$FILE" "/6-Layout" --type chart \
|
|
--prop chartType=bar \
|
|
--prop title="Log Scale + Reversed Axis" \
|
|
--prop series1=Revenue:10,100,1000,10000 \
|
|
--prop categories=Startup,Small,Medium,Enterprise \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop logBase=10 \
|
|
--prop axisOrientation=maxMin \
|
|
--prop dispUnits=thousands
|
|
|
|
# Chart 3: Label font, separator, leader lines, and per-label layout
|
|
# Features: labelFont (size:color:bold), dataLabels.separator,
|
|
# dataLabel{N}.text (custom), dataLabel{N}.delete (hide one label)
|
|
officecli add "$FILE" "/6-Layout" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Label Formatting" \
|
|
--prop series1=Sales:120,200,150,180 \
|
|
--prop categories=Q1,Q2,Q3,Q4 \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop dataLabels=true --prop labelPos=outsideEnd \
|
|
--prop labelFont=11:2E75B6:true \
|
|
--prop 'dataLabels.separator=: ' \
|
|
--prop dataLabel2.text=Best! \
|
|
--prop dataLabel3.delete=true
|
|
|
|
# Chart 4: Error bars, minor ticks, opacity
|
|
# Features: errBars (percentage/stdDev/fixed), minorTickMark, opacity (0-100%)
|
|
officecli add "$FILE" "/6-Layout" --type chart \
|
|
--prop chartType=line \
|
|
--prop title="Error Bars + Ticks" \
|
|
--prop series1=Measurement:50,55,48,62,58 \
|
|
--prop categories=Mon,Tue,Wed,Thu,Fri \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop showMarkers=true --prop marker=square:7:4472C4 \
|
|
--prop errBars=percentage \
|
|
--prop majorTickMark=outside --prop minorTickMark=inside \
|
|
--prop opacity=80
|
|
|
|
# ==========================================================================
|
|
# Sheet: 7-Effects
|
|
# Gradients, conditional color, area fill, title glow, preset themes
|
|
# ==========================================================================
|
|
echo "--- 7-Effects ---"
|
|
officecli add "$FILE" / --type sheet --prop name="7-Effects"
|
|
|
|
# Chart 1: Per-series gradients
|
|
# Features: gradients (per-series, semicolon-separated "C1-C2:angle")
|
|
officecli add "$FILE" "/7-Effects" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Per-Series Gradients" \
|
|
--prop series1=East:120,135,148 \
|
|
--prop series2=West:110,118,130 \
|
|
--prop categories=Q1,Q2,Q3 \
|
|
--prop x=0 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop 'gradients=4472C4-BDD7EE:90;ED7D31-FBE5D6:90'
|
|
|
|
# Chart 2: Area fill gradient and title glow effect
|
|
# Features: areafill (area gradient), title.glow (color-radius-opacity)
|
|
officecli add "$FILE" "/7-Effects" --type chart \
|
|
--prop chartType=area \
|
|
--prop title="Glow Title + Area Fill" \
|
|
--prop dataRange=Sheet1!A1:C13 \
|
|
--prop x=13 --prop y=0 --prop width=12 --prop height=18 \
|
|
--prop areafill=4472C4-BDD7EE:90 \
|
|
--prop transparency=30 \
|
|
--prop title.glow=4472C4-8-60 \
|
|
--prop title.size=16
|
|
|
|
# Chart 3: Conditional coloring rule
|
|
# Features: colorRule (threshold:belowColor:aboveColor — values below 60 red, above green)
|
|
officecli add "$FILE" "/7-Effects" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Conditional Colors" \
|
|
--prop series1=Score:85,42,91,38,76,55 \
|
|
--prop categories=A,B,C,D,E,F \
|
|
--prop x=0 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop colorRule=60:FF0000:70AD47 \
|
|
--prop dataLabels=true --prop labelPos=outsideEnd
|
|
|
|
# Chart 4: Preset style/theme and leader lines
|
|
# Features: style (preset 1-48), dataLabels.showLeaderLines
|
|
officecli add "$FILE" "/7-Effects" --type chart \
|
|
--prop chartType=column \
|
|
--prop title="Preset Style 26" \
|
|
--prop dataRange=Sheet1!A1:E13 \
|
|
--prop x=13 --prop y=19 --prop width=12 --prop height=18 \
|
|
--prop style=26 \
|
|
--prop dataLabels=true \
|
|
--prop dataLabels.showLeaderLines=true
|
|
|
|
officecli close "$FILE"
|
|
officecli validate "$FILE"
|
|
echo "Generated: $FILE"
|
|
echo " 8 sheets (Sheet1 data + 7 chart sheets, 28 charts total)"
|