iofficeai--officecli
8cb1f9f479
Publish SDK (PyPI) / publish (push) Has been cancelled
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (windows-latest) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Has been cancelled
Publish SDK (npm) / publish (@officecli/sdk) (push) Has been cancelled
Publish SDK (npm) / publish (officecli-sdk) (push) Has been cancelled
SDK smoke / smoke (macos-latest) (push) Has been cancelled
SDK smoke / smoke (ubuntu-latest) (push) Has been cancelled
Skill parity / diff (push) Has been cancelled
184 行
8.3 KiB
Bash
可执行文件
184 行
8.3 KiB
Bash
可执行文件
#!/bin/bash
|
|
# Box-Whisker Chart Showcase — generates charts-boxwhisker.xlsx exercising the
|
|
# full xlsx boxWhisker chart property surface across 8 charts on 2 sheets.
|
|
# CLI twin of charts-boxwhisker.py (officecli Python SDK).
|
|
# Usage: ./charts-boxwhisker.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-boxwhisker.xlsx"
|
|
rm -f "$FILE"
|
|
|
|
officecli create "$FILE"
|
|
officecli open "$FILE"
|
|
|
|
# ==========================================================================
|
|
# Sheet 1: Basics & Quartile Methods
|
|
# ==========================================================================
|
|
officecli add "$FILE" / --type sheet --prop name="1-Basics & Quartile"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 1: Basic single-series with exclusive quartile and data labels
|
|
# Features: single series, quartileMethod=exclusive, dataLabels
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/1-Basics & Quartile" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Test Score Distribution" \
|
|
--prop "series1=Scores:45,52,58,61,63,65,67,68,70,72,75,78,82,85,90,95,99" \
|
|
--prop quartileMethod=exclusive \
|
|
--prop dataLabels=true \
|
|
--prop x=0 --prop y=0 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 2: Multi-series with inclusive quartile, legend at bottom
|
|
# Features: 3 series, quartileMethod=inclusive, legend=bottom
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/1-Basics & Quartile" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Salary by Department (\$k)" \
|
|
--prop "series1=Engineering:85,92,95,98,102,105,108,112,118,125,135,150,180" \
|
|
--prop "series2=Marketing:60,65,68,72,75,78,80,83,88,92,98,110" \
|
|
--prop "series3=Sales:55,62,68,75,82,90,98,105,115,125,140,160,190" \
|
|
--prop quartileMethod=inclusive \
|
|
--prop legend=bottom \
|
|
--prop x=14 --prop y=0 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 3: Title styling — color, size, bold, font, shadow
|
|
# Features: title.color, title.size, title.bold, title.font, title.shadow
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/1-Basics & Quartile" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Styled Title Demo" \
|
|
--prop title.color=1B2838 \
|
|
--prop title.size=20 \
|
|
--prop title.bold=true \
|
|
--prop title.font=Georgia \
|
|
--prop title.shadow=000000-6-45-3-50 \
|
|
--prop "series1=Data:18,22,25,28,30,32,35,38,40,42,45,55,62,78" \
|
|
--prop x=0 --prop y=19 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 4: Series colors — fill, colors (per-series), series.shadow
|
|
# Features: colors (per-series hex), series.shadow
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/1-Basics & Quartile" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Custom Series Colors" \
|
|
--prop "series1=GroupA:30,38,45,52,58,62,65,68,71,74,78,85,92" \
|
|
--prop "series2=GroupB:20,28,35,40,48,55,60,66,70,80,88,95,110" \
|
|
--prop colors=5B9BD5,ED7D31 \
|
|
--prop series.shadow=000000-6-45-3-35 \
|
|
--prop x=14 --prop y=19 --prop width=13 --prop height=18
|
|
|
|
# ==========================================================================
|
|
# Sheet 2: Axes & Styling
|
|
# ==========================================================================
|
|
officecli add "$FILE" / --type sheet --prop name="2-Axes & Styling"
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 5: Axis scaling + axis titles + axis title styling + axis font
|
|
# Features: axismin, axismax, majorunit, minorunit, xAxisTitle, yAxisTitle,
|
|
# axisTitle.color/.size/.bold/.font, axisfont
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/2-Axes & Styling" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Response Time (ms)" \
|
|
--prop "series1=API:12,18,22,25,28,30,32,35,38,40,42,45,55,62,78,95,120" \
|
|
--prop "series2=DB:5,8,10,12,14,16,18,20,22,25,28,32,38,45,60" \
|
|
--prop axismin=0 --prop axismax=130 --prop majorunit=10 --prop minorunit=5 \
|
|
--prop xAxisTitle=Service \
|
|
--prop yAxisTitle="Latency (ms)" \
|
|
--prop axisTitle.color=4A5568 \
|
|
--prop axisTitle.size=12 \
|
|
--prop axisTitle.bold=true \
|
|
--prop axisTitle.font="Helvetica Neue" \
|
|
--prop "axisfont=10:6B7280:Consolas" \
|
|
--prop x=0 --prop y=0 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 6: Axis visibility + axis lines + gridlines + xGridlines
|
|
# Features: cataxis.visible=false, valaxis.line, gridlines, gridlineColor,
|
|
# xGridlines, xGridlineColor
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/2-Axes & Styling" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Axis & Gridline Control" \
|
|
--prop "series1=Temp:15,18,20,22,24,26,28,30,32,35,38,40,42" \
|
|
--prop cataxis.visible=false \
|
|
--prop "valaxis.line=334155:1.5" \
|
|
--prop gridlines=true \
|
|
--prop gridlineColor=E2E8F0 \
|
|
--prop xGridlines=true \
|
|
--prop xGridlineColor=F1F5F9 \
|
|
--prop x=14 --prop y=0 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 7: Plot/chart area fills, borders, gapWidth, tickLabels=false
|
|
# Features: fill (single color), gapWidth, tickLabels=false, gridlines=false,
|
|
# plotareafill, plotarea.border, chartareafill, chartarea.border
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/2-Axes & Styling" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Card Style" \
|
|
--prop "series1=Weight:50,55,58,60,62,64,66,68,70,72,75,78,82,88,95" \
|
|
--prop fill=6366F1 \
|
|
--prop gapWidth=200 \
|
|
--prop tickLabels=false \
|
|
--prop gridlines=false \
|
|
--prop plotareafill=F8FAFC \
|
|
--prop "plotarea.border=E2E8F0:1" \
|
|
--prop chartareafill=FFFFFF \
|
|
--prop "chartarea.border=CBD5E1:0.75" \
|
|
--prop x=0 --prop y=19 --prop width=13 --prop height=18
|
|
|
|
# --------------------------------------------------------------------------
|
|
# Chart 8: Full presentation-grade — everything combined
|
|
# Features: ALL properties combined — title styling, multi-series colors,
|
|
# series.shadow, axis scaling, axis titles + styling, axisfont, axisline,
|
|
# gridlineColor, dataLabels + numfmt, legend + overlay + legendfont,
|
|
# plot/chart area fill + border
|
|
# --------------------------------------------------------------------------
|
|
officecli add "$FILE" "/2-Axes & Styling" --type chart \
|
|
--prop chartType=boxWhisker \
|
|
--prop title="Server Latency Dashboard" \
|
|
--prop title.color=0F172A \
|
|
--prop title.size=18 \
|
|
--prop title.bold=true \
|
|
--prop title.font="Helvetica Neue" \
|
|
--prop title.shadow=000000-4-45-2-40 \
|
|
--prop "series1=US-East:8,12,15,18,20,22,24,26,28,30,35,42,55,70,95" \
|
|
--prop "series2=EU-West:10,14,18,22,25,28,30,33,36,40,45,50,60,80" \
|
|
--prop "series3=AP-South:15,20,25,30,35,38,42,45,48,52,58,65,75,90,120" \
|
|
--prop quartileMethod=exclusive \
|
|
--prop colors=3B82F6,10B981,F59E0B \
|
|
--prop series.shadow=000000-4-45-2-30 \
|
|
--prop axismin=0 --prop axismax=130 --prop majorunit=10 \
|
|
--prop xAxisTitle=Region \
|
|
--prop yAxisTitle="Latency (ms)" \
|
|
--prop axisTitle.color=475569 \
|
|
--prop axisTitle.size=11 \
|
|
--prop axisTitle.bold=true \
|
|
--prop axisTitle.font="Helvetica Neue" \
|
|
--prop "axisfont=9:64748B:Helvetica Neue" \
|
|
--prop "axisline=CBD5E1:1" \
|
|
--prop gridlineColor=E2E8F0 \
|
|
--prop dataLabels=true \
|
|
--prop "datalabels.numfmt=0" \
|
|
--prop legend=top \
|
|
--prop legend.overlay=false \
|
|
--prop "legendfont=10:475569:Helvetica Neue" \
|
|
--prop plotareafill=F8FAFC \
|
|
--prop "plotarea.border=E2E8F0:0.75" \
|
|
--prop chartareafill=FFFFFF \
|
|
--prop "chartarea.border=CBD5E1:0.75" \
|
|
--prop x=14 --prop y=19 --prop width=16 --prop height=22
|
|
|
|
# Remove blank default Sheet1
|
|
officecli remove "$FILE" /Sheet1
|
|
|
|
officecli close "$FILE"
|
|
|
|
officecli validate "$FILE"
|
|
echo "Generated: $FILE"
|