-
Notifications
You must be signed in to change notification settings - Fork 532
use cases excel pipeline
Persona: Sales Manager | Difficulty: Intermediate | Tags:
excelsalespipelinechartsconditional-formatting
Track 15 deals across stages with weighted pipeline value, rep performance charts, and color-coded aging alerts.
Download: sales-pipeline-q2.xlsx · sales-pipeline-q2.py
Build a Q2 Sales Pipeline Tracker with Stage Analysis
See also: Set Cell Values · Add a Chart · Batch Commands · Create a Workbook
User:
Hey, I need to build a pipeline tracker for our Q2 sales review on Wednesday. We've got about 15 deals in the funnel right now and my VP wants to see where everything stands — stage, deal size, owner, days in stage, that kind of thing. Here are the deals:
Acme Corp - Prospecting - 45ドルK - Sarah Chen - 12 days Bolt Industries - Discovery - 120ドルK - Marcus Webb - 8 days Crescent Health - Proposal Sent - 87ドルK - Sarah Chen - 21 days DataPulse Inc - Negotiation - 210ドルK - Marcus Webb - 5 days Evergreen Solutions - Closed Won - 65ドルK - Li Zhang - 0 days FairPoint Media - Discovery - 33ドルK - Li Zhang - 14 days GreenLeaf Tech - Proposal Sent - 175ドルK - Sarah Chen - 30 days Horizon Labs - Prospecting - 52ドルK - Marcus Webb - 19 days IntelliWare - Negotiation - 98ドルK - Li Zhang - 11 days JetStream Analytics - Closed Lost - 140ドルK - Sarah Chen - 0 days KnightBridge Capital - Discovery - 310ドルK - Marcus Webb - 3 days LunarEdge Systems - Proposal Sent - 72ドルK - Li Zhang - 25 days Mosaic Digital - Prospecting - 41ドルK - Sarah Chen - 7 days NorthStar Logistics - Negotiation - 155ドルK - Marcus Webb - 16 days OmniTech Partners - Closed Won - 88ドルK - Li Zhang - 0 days
I want it to look really sharp — think clean modern layout, maybe a deep emerald and gold color scheme? I'd love a summary section at the top showing total pipeline value, weighted value, win rate, and average days in stage. And if you can add a stacked bar chart showing pipeline value by rep broken out by stage, that would be amazing. Conditional formatting on the days-in-stage column too — green for under 10 days, yellow for 10-20, red for over 20.
Agent creates the workbook with emerald-gold styling, 15 deals, summary KPIs, and stacked bar chart:
Show commands (158 commands)
officecli create sales-pipeline-q2.xlsx officecli set sales-pipeline-q2.xlsx '/Sheet1' --prop name=Pipeline officecli set sales-pipeline-q2.xlsx '/' --prop theme.font.major.latin=Aptos --prop theme.font.minor.latin=Aptos officecli set sales-pipeline-q2.xlsx '/Pipeline/A1' \ --prop value="Q2 Sales Pipeline Tracker" \ --prop font.size=20 \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop valign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/A1:G1' --prop merge=True --prop fill=0B6E4F officecli set sales-pipeline-q2.xlsx '/Pipeline/row[1]' --prop height=42 officecli set sales-pipeline-q2.xlsx '/Pipeline/A3' \ --prop value="Total Pipeline" \ --prop bold=True \ --prop font.color=0B6E4F \ --prop font.size=10 \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/B3' \ --prop value="Weighted Value" \ --prop bold=True \ --prop font.color=0B6E4F \ --prop font.size=10 \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/C3' \ --prop value="Win Rate" \ --prop bold=True \ --prop font.color=0B6E4F \ --prop font.size=10 \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/D3' \ --prop value="Avg Days in Stage" \ --prop bold=True \ --prop font.color=0B6E4F \ --prop font.size=10 \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/A4' \ --prop formula="=SUM(C7:C21)" \ --prop numberFormat="$#,##0" \ --prop font.size=18 \ --prop bold=True \ --prop font.color=0B6E4F \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/B4' \ --prop formula="=SUM(G7:G21)" \ --prop numberFormat="$#,##0" \ --prop font.size=18 \ --prop bold=True \ --prop font.color=0B6E4F \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/C4' \ --prop formula="=2/15" \ --prop numberFormat=0% \ --prop font.size=18 \ --prop bold=True \ --prop font.color=0B6E4F \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/D4' \ --prop formula="=AVERAGEIF(E7:E21,">0")" \ --prop numberFormat=0.0 \ --prop font.size=18 \ --prop bold=True \ --prop font.color=0B6E4F \ --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/A3:D3' \ --prop fill=E8F5E9 \ --prop border.bottom=thin \ --prop border.bottom.color=0B6E4F officecli set sales-pipeline-q2.xlsx '/Pipeline/A4:D4' \ --prop fill=F5F5DC \ --prop border.bottom=medium \ --prop border.bottom.color=C8A951 officecli set sales-pipeline-q2.xlsx '/Pipeline/A6' \ --prop value=Company \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/B6' \ --prop value=Stage \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/C6' \ --prop value="Deal Size" \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/D6' \ --prop value=Owner \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/E6' \ --prop value="Days in Stage" \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/F6' \ --prop value="Stage Key" \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/G6' \ --prop value="Weighted Value" \ --prop bold=True \ --prop font.color=FFFFFF \ --prop fill=0B6E4F \ --prop halign=center \ --prop font.size=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/row[6]' --prop height=24 officecli set sales-pipeline-q2.xlsx '/Pipeline/A7' --prop value="Acme Corp" officecli set sales-pipeline-q2.xlsx '/Pipeline/B7' --prop value=Prospecting officecli set sales-pipeline-q2.xlsx '/Pipeline/C7' --prop value=45000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D7' --prop value="Sarah Chen" officecli set sales-pipeline-q2.xlsx '/Pipeline/E7' --prop value=12 officecli set sales-pipeline-q2.xlsx '/Pipeline/F7' --prop formula="=B7" officecli set sales-pipeline-q2.xlsx '/Pipeline/G7' --prop formula="=IF(B7="Prospecting",C7*0.1,IF(B7="Discovery",C7*0.25,IF(B7="Proposal Sent",C7*0.5,IF(B7="Negotiation",C7*0.75,IF(B7="Closed Won",C7*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A8' --prop value="Bolt Industries" officecli set sales-pipeline-q2.xlsx '/Pipeline/B8' --prop value=Discovery officecli set sales-pipeline-q2.xlsx '/Pipeline/C8' --prop value=120000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D8' --prop value="Marcus Webb" officecli set sales-pipeline-q2.xlsx '/Pipeline/E8' --prop value=8 officecli set sales-pipeline-q2.xlsx '/Pipeline/F8' --prop formula="=B8" officecli set sales-pipeline-q2.xlsx '/Pipeline/G8' --prop formula="=IF(B8="Prospecting",C8*0.1,IF(B8="Discovery",C8*0.25,IF(B8="Proposal Sent",C8*0.5,IF(B8="Negotiation",C8*0.75,IF(B8="Closed Won",C8*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A9' --prop value="Crescent Health" officecli set sales-pipeline-q2.xlsx '/Pipeline/B9' --prop value="Proposal Sent" officecli set sales-pipeline-q2.xlsx '/Pipeline/C9' --prop value=87000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D9' --prop value="Sarah Chen" officecli set sales-pipeline-q2.xlsx '/Pipeline/E9' --prop value=21 officecli set sales-pipeline-q2.xlsx '/Pipeline/F9' --prop formula="=B9" officecli set sales-pipeline-q2.xlsx '/Pipeline/G9' --prop formula="=IF(B9="Prospecting",C9*0.1,IF(B9="Discovery",C9*0.25,IF(B9="Proposal Sent",C9*0.5,IF(B9="Negotiation",C9*0.75,IF(B9="Closed Won",C9*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A10' --prop value="DataPulse Inc" officecli set sales-pipeline-q2.xlsx '/Pipeline/B10' --prop value=Negotiation officecli set sales-pipeline-q2.xlsx '/Pipeline/C10' --prop value=210000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D10' --prop value="Marcus Webb" officecli set sales-pipeline-q2.xlsx '/Pipeline/E10' --prop value=5 officecli set sales-pipeline-q2.xlsx '/Pipeline/F10' --prop formula="=B10" officecli set sales-pipeline-q2.xlsx '/Pipeline/G10' --prop formula="=IF(B10="Prospecting",C10*0.1,IF(B10="Discovery",C10*0.25,IF(B10="Proposal Sent",C10*0.5,IF(B10="Negotiation",C10*0.75,IF(B10="Closed Won",C10*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A11' --prop value="Evergreen Solutions" officecli set sales-pipeline-q2.xlsx '/Pipeline/B11' --prop value="Closed Won" officecli set sales-pipeline-q2.xlsx '/Pipeline/C11' --prop value=65000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D11' --prop value="Li Zhang" officecli set sales-pipeline-q2.xlsx '/Pipeline/E11' --prop value=0 officecli set sales-pipeline-q2.xlsx '/Pipeline/F11' --prop formula="=B11" officecli set sales-pipeline-q2.xlsx '/Pipeline/G11' --prop formula="=IF(B11="Prospecting",C11*0.1,IF(B11="Discovery",C11*0.25,IF(B11="Proposal Sent",C11*0.5,IF(B11="Negotiation",C11*0.75,IF(B11="Closed Won",C11*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A12' --prop value="FairPoint Media" officecli set sales-pipeline-q2.xlsx '/Pipeline/B12' --prop value=Discovery officecli set sales-pipeline-q2.xlsx '/Pipeline/C12' --prop value=33000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D12' --prop value="Li Zhang" officecli set sales-pipeline-q2.xlsx '/Pipeline/E12' --prop value=14 officecli set sales-pipeline-q2.xlsx '/Pipeline/F12' --prop formula="=B12" officecli set sales-pipeline-q2.xlsx '/Pipeline/G12' --prop formula="=IF(B12="Prospecting",C12*0.1,IF(B12="Discovery",C12*0.25,IF(B12="Proposal Sent",C12*0.5,IF(B12="Negotiation",C12*0.75,IF(B12="Closed Won",C12*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A13' --prop value="GreenLeaf Tech" officecli set sales-pipeline-q2.xlsx '/Pipeline/B13' --prop value="Proposal Sent" officecli set sales-pipeline-q2.xlsx '/Pipeline/C13' --prop value=175000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D13' --prop value="Sarah Chen" officecli set sales-pipeline-q2.xlsx '/Pipeline/E13' --prop value=30 officecli set sales-pipeline-q2.xlsx '/Pipeline/F13' --prop formula="=B13" officecli set sales-pipeline-q2.xlsx '/Pipeline/G13' --prop formula="=IF(B13="Prospecting",C13*0.1,IF(B13="Discovery",C13*0.25,IF(B13="Proposal Sent",C13*0.5,IF(B13="Negotiation",C13*0.75,IF(B13="Closed Won",C13*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A14' --prop value="Horizon Labs" officecli set sales-pipeline-q2.xlsx '/Pipeline/B14' --prop value=Prospecting officecli set sales-pipeline-q2.xlsx '/Pipeline/C14' --prop value=52000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D14' --prop value="Marcus Webb" officecli set sales-pipeline-q2.xlsx '/Pipeline/E14' --prop value=19 officecli set sales-pipeline-q2.xlsx '/Pipeline/F14' --prop formula="=B14" officecli set sales-pipeline-q2.xlsx '/Pipeline/G14' --prop formula="=IF(B14="Prospecting",C14*0.1,IF(B14="Discovery",C14*0.25,IF(B14="Proposal Sent",C14*0.5,IF(B14="Negotiation",C14*0.75,IF(B14="Closed Won",C14*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A15' --prop value=IntelliWare officecli set sales-pipeline-q2.xlsx '/Pipeline/B15' --prop value=Negotiation officecli set sales-pipeline-q2.xlsx '/Pipeline/C15' --prop value=98000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D15' --prop value="Li Zhang" officecli set sales-pipeline-q2.xlsx '/Pipeline/E15' --prop value=11 officecli set sales-pipeline-q2.xlsx '/Pipeline/F15' --prop formula="=B15" officecli set sales-pipeline-q2.xlsx '/Pipeline/G15' --prop formula="=IF(B15="Prospecting",C15*0.1,IF(B15="Discovery",C15*0.25,IF(B15="Proposal Sent",C15*0.5,IF(B15="Negotiation",C15*0.75,IF(B15="Closed Won",C15*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A16' --prop value="JetStream Analytics" officecli set sales-pipeline-q2.xlsx '/Pipeline/B16' --prop value="Closed Lost" officecli set sales-pipeline-q2.xlsx '/Pipeline/C16' --prop value=140000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D16' --prop value="Sarah Chen" officecli set sales-pipeline-q2.xlsx '/Pipeline/E16' --prop value=0 officecli set sales-pipeline-q2.xlsx '/Pipeline/F16' --prop formula="=B16" officecli set sales-pipeline-q2.xlsx '/Pipeline/G16' --prop formula="=IF(B16="Prospecting",C16*0.1,IF(B16="Discovery",C16*0.25,IF(B16="Proposal Sent",C16*0.5,IF(B16="Negotiation",C16*0.75,IF(B16="Closed Won",C16*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A17' --prop value="KnightBridge Capital" officecli set sales-pipeline-q2.xlsx '/Pipeline/B17' --prop value=Discovery officecli set sales-pipeline-q2.xlsx '/Pipeline/C17' --prop value=310000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D17' --prop value="Marcus Webb" officecli set sales-pipeline-q2.xlsx '/Pipeline/E17' --prop value=3 officecli set sales-pipeline-q2.xlsx '/Pipeline/F17' --prop formula="=B17" officecli set sales-pipeline-q2.xlsx '/Pipeline/G17' --prop formula="=IF(B17="Prospecting",C17*0.1,IF(B17="Discovery",C17*0.25,IF(B17="Proposal Sent",C17*0.5,IF(B17="Negotiation",C17*0.75,IF(B17="Closed Won",C17*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A18' --prop value="LunarEdge Systems" officecli set sales-pipeline-q2.xlsx '/Pipeline/B18' --prop value="Proposal Sent" officecli set sales-pipeline-q2.xlsx '/Pipeline/C18' --prop value=72000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D18' --prop value="Li Zhang" officecli set sales-pipeline-q2.xlsx '/Pipeline/E18' --prop value=25 officecli set sales-pipeline-q2.xlsx '/Pipeline/F18' --prop formula="=B18" officecli set sales-pipeline-q2.xlsx '/Pipeline/G18' --prop formula="=IF(B18="Prospecting",C18*0.1,IF(B18="Discovery",C18*0.25,IF(B18="Proposal Sent",C18*0.5,IF(B18="Negotiation",C18*0.75,IF(B18="Closed Won",C18*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A19' --prop value="Mosaic Digital" officecli set sales-pipeline-q2.xlsx '/Pipeline/B19' --prop value=Prospecting officecli set sales-pipeline-q2.xlsx '/Pipeline/C19' --prop value=41000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D19' --prop value="Sarah Chen" officecli set sales-pipeline-q2.xlsx '/Pipeline/E19' --prop value=7 officecli set sales-pipeline-q2.xlsx '/Pipeline/F19' --prop formula="=B19" officecli set sales-pipeline-q2.xlsx '/Pipeline/G19' --prop formula="=IF(B19="Prospecting",C19*0.1,IF(B19="Discovery",C19*0.25,IF(B19="Proposal Sent",C19*0.5,IF(B19="Negotiation",C19*0.75,IF(B19="Closed Won",C19*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A20' --prop value="NorthStar Logistics" officecli set sales-pipeline-q2.xlsx '/Pipeline/B20' --prop value=Negotiation officecli set sales-pipeline-q2.xlsx '/Pipeline/C20' --prop value=155000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D20' --prop value="Marcus Webb" officecli set sales-pipeline-q2.xlsx '/Pipeline/E20' --prop value=16 officecli set sales-pipeline-q2.xlsx '/Pipeline/F20' --prop formula="=B20" officecli set sales-pipeline-q2.xlsx '/Pipeline/G20' --prop formula="=IF(B20="Prospecting",C20*0.1,IF(B20="Discovery",C20*0.25,IF(B20="Proposal Sent",C20*0.5,IF(B20="Negotiation",C20*0.75,IF(B20="Closed Won",C20*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A21' --prop value="OmniTech Partners" officecli set sales-pipeline-q2.xlsx '/Pipeline/B21' --prop value="Closed Won" officecli set sales-pipeline-q2.xlsx '/Pipeline/C21' --prop value=88000 --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/D21' --prop value="Li Zhang" officecli set sales-pipeline-q2.xlsx '/Pipeline/E21' --prop value=0 officecli set sales-pipeline-q2.xlsx '/Pipeline/F21' --prop formula="=B21" officecli set sales-pipeline-q2.xlsx '/Pipeline/G21' --prop formula="=IF(B21="Prospecting",C21*0.1,IF(B21="Discovery",C21*0.25,IF(B21="Proposal Sent",C21*0.5,IF(B21="Negotiation",C21*0.75,IF(B21="Closed Won",C21*1,0)))))" --prop numberFormat="$#,##0" officecli set sales-pipeline-q2.xlsx '/Pipeline/A7:A21' \ --prop font.size=10 \ --prop bold=True \ --prop font.color=333333 officecli set sales-pipeline-q2.xlsx '/Pipeline/B7:G21' --prop font.size=10 --prop halign=center officecli set sales-pipeline-q2.xlsx '/Pipeline/A7:G21' --prop border.all=thin --prop border.color=D0D0D0 officecli set sales-pipeline-q2.xlsx '/Pipeline/A7:G7' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A9:G9' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A11:G11' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A13:G13' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A15:G15' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A17:G17' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A19:G19' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A21:G21' --prop fill=F5F5DC officecli set sales-pipeline-q2.xlsx '/Pipeline/A8:G8' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A10:G10' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A12:G12' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A14:G14' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A16:G16' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A18:G18' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/A20:G20' --prop fill=FFFFFF officecli set sales-pipeline-q2.xlsx '/Pipeline/col[A]' --prop width=22 officecli set sales-pipeline-q2.xlsx '/Pipeline/col[B]' --prop width=16 officecli set sales-pipeline-q2.xlsx '/Pipeline/col[C]' --prop width=14 officecli set sales-pipeline-q2.xlsx '/Pipeline/col[D]' --prop width=16 officecli set sales-pipeline-q2.xlsx '/Pipeline/col[E]' --prop width=15 officecli set sales-pipeline-q2.xlsx '/Pipeline/col[F]' --prop width=16 --prop hidden=True officecli set sales-pipeline-q2.xlsx '/Pipeline/col[G]' --prop width=16 officecli add sales-pipeline-q2.xlsx '/Pipeline' --type formulacf \ --prop sqref=E7:E21 \ --prop formula="=AND(E7<10,E7>0)" \ --prop fill=C6EFCE \ --prop font.color=006100 officecli add sales-pipeline-q2.xlsx '/Pipeline' --type formulacf \ --prop sqref=E7:E21 \ --prop formula="=AND(E7>=10,E7<=20)" \ --prop fill=FFEB9C \ --prop font.color=9C6500 officecli add sales-pipeline-q2.xlsx '/Pipeline' --type formulacf \ --prop sqref=E7:E21 \ --prop formula="=E7>20" \ --prop fill=FFC7CE \ --prop font.color=9C0006 officecli add sales-pipeline-q2.xlsx '/Pipeline' --type chart \ --prop chartType=barStacked \ --prop title="Pipeline Value by Rep & Stage" \ --prop series1="Prospecting:86000,52000,0" \ --prop series2="Discovery:0,430000,33000" \ --prop series3="Proposal Sent:262000,0,72000" \ --prop series4="Negotiation:0,365000,98000" \ --prop series5="Closed Won:0,0,153000" \ --prop series6="Closed Lost:140000,0,0" \ --prop categories="Sarah Chen,Marcus Webb,Li Zhang" \ --prop colors="88C999,3CB371,C8A951,D4AF37,0B6E4F,CC4444" \ --prop x=0 \ --prop y=23 \ --prop width=7 \ --prop height=18 \ --prop legend=bottom \ --prop axisTitle="Deal Value ($)" \ --prop axisNumFmt="$#,##0" \ --prop chartFill=FAFAFA \ --prop plotFill=FFFFFF \ --prop gapwidth=80 \ --prop title.size=13 \ --prop title.bold=True \ --prop title.color=0B6E4F \ --prop legendfont=9:555555:Aptos \ --prop axisfont=9:555555:Aptos
User:
Oh wait, can you also freeze the header row and the summary section so they stay visible when scrolling? And bold the rep names in the chart legend if possible.
Agent freezes panes at row 7 to keep title, KPIs, and headers visible when scrolling:
officecli set sales-pipeline-q2.xlsx '/Pipeline' --prop freeze=A7
Based on OfficeCLI v1.0.34