Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

excel sheet set

zmworm edited this page Apr 29, 2026 · 12 revisions

Excel: Sheet - set

Modify worksheet-level properties: freeze panes, zoom, tab color, protection, page setup, and bulk operations like sort and merge.

Path: /{SheetName}

Properties

Property Accepted Values Description
name string Rename the sheet
freeze cell ref (e.g. A2, B2) or none Freeze panes anchor. A2 freezes row 1; B2 freezes row 1 + column A
zoom 10-400 Zoom scale percentage (default 100)
tabColor hex RGB (e.g. 4472C4) or none Sheet tab color
protect true / false Protect the sheet (prevents editing locked cells)
password string Protection password (use with protect=true)
orientation portrait / landscape Page orientation
paperSize number Paper size (1 = Letter, 9 = A4)
printArea range (e.g. A1:F20) Print area
fitToPage true / false Fit content to page when printing
header string Print header text
footer string Print footer text

Sort

Reorder rows by one or more columns. Works at two levels:

  • Sheet-level (set /Sheet1 --prop sort=...) — sorts the entire used range (or the autofilter range if set).
  • Range-level (set '/Sheet1/A1:D100' --prop sort=...) — sorts only the specified range.
Property Accepted Values Description
sort COL DIR[, COL DIR ...] Sort spec. COL must be a column letter (A, B, ..., AA, ..., up to XFD); DIR is asc or desc (defaults to asc). Multi-key sorts are comma-separated.
sortHeader true / false Treat the first row of the sort range as a header (excluded from the reorder)

Note: sort does not accept header names. To find the column letter for a named header, run officecli get data.xlsx /Sheet1/1:1 (or query the header row) first, then pass the corresponding letter.

Sidecar metadata: Hyperlinks, comments, threaded comments, data validations, conditional formatting, and drawing anchors automatically follow their rows during sort.

Rejections: Ranges containing merged cells or shared formulas are rejected. Protected sheets are rejected unless sheetProtection@sort is explicitly set to false. Reversed ranges (e.g. C5:A1) are auto-normalized.

AutoFilter (via /{Sheet}/autofilter)

Property Accepted Values Description
range range (e.g. A1:F100) Set or update the autofilter range

To remove the autofilter, set /{Sheet}/autofilter --prop range=none.

Merge (via range path /{Sheet}/A1:D1)

Property Accepted Values Description
merge true / false true merges the range; false unmerges

Examples

# Freeze the top row
officecli set data.xlsx /Sheet1 --prop freeze=A2
# Zoom and tab color
officecli set data.xlsx /Sheet1 --prop zoom=125 --prop tabColor=4472C4
# Protect the sheet with a password
officecli set data.xlsx /Sheet1 --prop protect=true --prop password="s3cret"
# Sheet-level sort by column C descending (keeping header row 1 pinned)
officecli set data.xlsx /Sheet1 --prop sort="C desc" --prop sortHeader=true
# Multi-key sort (column A ascending, then column C descending)
officecli set data.xlsx /Sheet1 --prop sort="A asc, C desc" --prop sortHeader=true
# Range-level sort (only rows within A1:D100)
officecli set data.xlsx '/Sheet1/A1:D100' --prop sort="A asc" --prop sortHeader=true
# Landscape A4 with fit-to-page
officecli set data.xlsx /Sheet1 --prop orientation=landscape --prop paperSize=9 --prop fitToPage=true
# Set / update / remove autofilter
officecli set data.xlsx /Sheet1/autofilter --prop range=A1:F100
officecli set data.xlsx /Sheet1/autofilter --prop range=none
# Merge and unmerge a range
officecli set data.xlsx '/Sheet1/A1:D1' --prop merge=true
officecli set data.xlsx '/Sheet1/A1:D1' --prop merge=false

See Also


Based on OfficeCLI v1.0.64

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /