Escribal
Back to Docs

Spreadsheet

Rows & columns

This group reshapes the structure of a sheet: inserting and deleting whole rows and columns; setting or auto-fitting row heights and column widths; hiding and showing rows or columns; grouping them into collapsible outlines; and freezing the top rows or left columns so they stay in view while you scroll. Unlike the printing group, these instructions change the sheet itself, not just how it prints.

Prerequisite: before using any of these instructions, the workflow must already have an XLSX spreadsheet created or opened (with Create spreadsheet). Every instruction works on a sheet (tab) inside that spreadsheet, identified by name (Sheet1 by default), which must already exist.

These concepts recur across several instructions in this group; they are explained here once.

  • Document: indicates which document in the workflow the instruction applies to. If left empty, the current document is used.

  • The sheet must already exist: the Sheet name field chooses which tab the instruction works on, and defaults to Sheet1. If no sheet with that name is found, the instruction does nothing and the workflow continues with the next instruction.

  • Rows are counted from 1; columns use letters: a row number like 1 means the first row; a column is given by its letter (A, B, …).

  • Row height is in points; column width is in character units: heights are given in points (the usual height unit), and widths in character units (the spreadsheet’s standard column-width measure, where the default column is about 8.43).

  • Counts are always at least one: row/column counts and positions are kept to a minimum of 1, so a count of 0 still acts on one row or column.

  • Dynamic values (@name): in any text field (sheet name, column letters) you can type @ followed by the name of a value saved earlier in the workflow, and it will be replaced by that value.

  • Saving a result (Save … fields): Insert rows and Insert columns can save where the new rows/columns landed. Fill in a Save … field with a name, and the first and last inserted row numbers (or column letters) are stored under that name for later steps. Leave it empty to save nothing.

  • “From variable” fields: the @name trick only works in text fields. The yes/no options (like Hidden) and number options (like Row count or Height) each have a companion “from variable” field:

    • If you leave it empty, the value chosen in the normal field is used.
    • If you fill it in with the name of a saved value, the engine ignores the normal field and reads the value from that variable.

    This is mainly for chaining instructions (one instruction saves a value, the next one reads it). If you only work with fixed values, you can ignore these fields.

Auto Fit Column Width .xlsx

Widens (or narrows) one or more columns so they fit their content.

When to use it: after filling columns with data, to size them so nothing is cut off.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start column letter First column to auto-fit (A, B, …). Supports @name A No
End column letter Last column to auto-fit. Supports @name A No
Min width Smallest width to use, in character units 8.43 No
Min width (from variable) Reads the minimum width from a saved value (empty) No

Important behavior: estimates each column’s width from the length of its longest cell value (never below Min width) and marks it as best-fit, so the width settles to the content. Shared text is read correctly. If End column letter comes before Start column letter, only the start column is used.


Auto Fit Row Height .xlsx

Resets one or more rows so their height fits their content again.

When to use it: after changing font sizes or text wrapping, to let rows size themselves.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start row First row to auto-fit 1 No
End row Last row to auto-fit 1 No
Start row (from variable) Reads the first row number from a saved value (empty) No
End row (from variable) Reads the last row number from a saved value (empty) No

Important behavior: clears any fixed height on the given rows so the spreadsheet program recalculates it when the file is opened. Rows that don’t exist yet are skipped. If End row comes before Start row, only the start row is used.


Delete Columns .xlsx

Removes one or more columns and shifts the rest left.

When to use it: to drop unwanted columns and close the gap they leave.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to delete columns from. Supports @name Sheet1 No
Start column letter First column to delete (A, B, …). Supports @name A No
Column count How many columns to delete 1 No
Column count (from variable) Reads the column count from a saved value (empty) No

Important behavior: a Column count of 0 or less does nothing. Otherwise deletes Column count columns starting at Start column letter, shifting later columns left to fill the gap and updating merged ranges (a merge fully inside the deleted block is removed, and one that only partly overlaps is removed too). At least one column is always deleted.


Delete Rows .xlsx

Removes one or more rows and shifts the rest up.

When to use it: to drop unwanted rows and close the gap they leave.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to delete rows from. Supports @name Sheet1 No
Start row First row to delete 1 No
Row count How many rows to delete 1 No
Start row (from variable) Reads the first row number from a saved value (empty) No
Row count (from variable) Reads the row count from a saved value (empty) No

Important behavior: a Row count of 0 or less does nothing. Otherwise deletes Row count rows starting at Start row, shifting later rows up to fill the gap and updating merged ranges the same way as columns. At least one row is always deleted.


Freeze Left Columns .xlsx

Freezes the leftmost columns so they stay visible when you scroll right.

When to use it: to keep a label column (row headers) on screen while browsing a wide sheet.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to freeze on. Supports @name Sheet1 No
Column count How many left columns to freeze 1 No
Column count (from variable) Reads the column count from a saved value (empty) No

Important behavior: freezes the first Column count columns. A Column count of 0 or less does nothing. Replaces any freeze already set on the sheet.


Freeze Top Rows .xlsx

Freezes the top rows so they stay visible when you scroll down.

When to use it: to keep a header row (column titles) on screen while browsing a long sheet.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to freeze on. Supports @name Sheet1 No
Row count How many top rows to freeze 1 No
Row count (from variable) Reads the row count from a saved value (empty) No

Important behavior: freezes the first Row count rows. A Row count of 0 or less does nothing. Replaces any freeze already set on the sheet.


Group Columns .xlsx

Groups a range of columns into a collapsible outline.

When to use it: to let readers collapse or expand a block of detail columns.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to group columns on. Supports @name Sheet1 No
Start column letter First column of the group (A, B, …). Supports @name A No
End column letter Last column of the group. Supports @name B No

Important behavior: raises the outline level of the columns from Start column letter to End column letter by one, so they can be collapsed and expanded. Grouping the same range again nests it one level deeper. If End column letter comes before Start column letter, only the start column is grouped.


Group Rows .xlsx

Groups a range of rows into a collapsible outline.

When to use it: to let readers collapse or expand a block of detail rows.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to group rows on. Supports @name Sheet1 No
Start row First row of the group 1 No
End row Last row of the group 1 No
Start row (from variable) Reads the first row number from a saved value (empty) No
End row (from variable) Reads the last row number from a saved value (empty) No

Important behavior: raises the outline level of rows Start row to End row by one. Any missing rows in the range are created. Grouping the same range again nests it one level deeper.


Insert Columns .xlsx

Inserts one or more empty columns, shifting existing columns right.

When to use it: to make room for new columns in the middle of a sheet.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to insert columns on. Supports @name Sheet1 No
At column letter Column position to insert before (A, B, …). Supports @name A No
Column count How many columns to insert 1 No
Column count (from variable) Reads the column count from a saved value (empty) No
Save first column Name to store the first inserted column letter under (empty) No
Save last column Name to store the last inserted column letter under (empty) No

Important behavior: a Column count of 0 or less does nothing. Otherwise inserts Column count empty columns at At column letter, shifting existing content right and updating merged ranges. At least one column is inserted. If Save first column / Save last column are filled, the letters of the first and last inserted columns are stored for later steps.


Insert Rows .xlsx

Inserts one or more empty rows, shifting existing rows down.

When to use it: to make room for new rows in the middle of a sheet.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to insert rows on. Supports @name Sheet1 No
At row Row position to insert before 1 No
Row count How many rows to insert 1 No
At row (from variable) Reads the insert position from a saved value (empty) No
Row count (from variable) Reads the row count from a saved value (empty) No
Save first row Name to store the first inserted row number under (empty) No
Save last row Name to store the last inserted row number under (empty) No

Important behavior: a Row count of 0 or less does nothing. Otherwise inserts Row count empty rows at At row (at least row 1), shifting existing content down and updating merged ranges. If Save first row / Save last row are filled, the first and last inserted row numbers are stored for later steps.


Set Column Visibility .xlsx

Hides or shows a range of columns.

When to use it: to hide helper or detail columns without deleting them.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start column letter First column of the range (A, B, …). Supports @name A No
End column letter Last column of the range. Supports @name A No
Hidden On = hide the columns; off = show them Yes No
Hidden (from variable) Reads the hide/show yes/no from a saved value (empty) No

Important behavior: hides the columns from Start column letter to End column letter when Hidden is on, or shows them when off. Any custom widths on those columns are preserved. If End column letter comes before Start column letter, only the start column is affected.


Set Column Width .xlsx

Sets a fixed width for a range of columns.

When to use it: to give columns a specific, uniform width.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start column letter First column of the range (A, B, …). Supports @name A No
End column letter Last column of the range. Supports @name A No
Width Column width, in character units; -1 = leave the width as it is 10 No
Width (from variable) Reads the width from a saved value (empty) No

Important behavior: sets the width (in character units) for columns Start column letter to End column letter. If End column letter comes before Start column letter, only the start column is set. A negative width means “leave it as it is” and the instruction does nothing — note that a width of 0 is a real value in a spreadsheet and hides the column.


Set Row Height .xlsx

Sets a fixed height for a range of rows.

When to use it: to give rows a specific, uniform height.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start row First row of the range 1 No
End row Last row of the range 1 No
Height Row height, in points; -1 = leave the height as it is 15 No
Start row (from variable) Reads the first row number from a saved value (empty) No
End row (from variable) Reads the last row number from a saved value (empty) No
Height (from variable) Reads the height from a saved value (empty) No

Important behavior: sets the height (in points) for rows Start row to End row, creating any rows in the range that don’t exist yet. If End row comes before Start row, only the start row is set. A negative height means “leave it as it is” and the instruction does nothing — note that a height of 0 is a real value in a spreadsheet and hides the row.


Set Row Visibility .xlsx

Hides or shows a range of rows.

When to use it: to hide helper or detail rows without deleting them.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to apply this to. Supports @name Sheet1 No
Start row First row of the range 1 No
End row Last row of the range 1 No
Hidden On = hide the rows; off = show them Yes No
Start row (from variable) Reads the first row number from a saved value (empty) No
End row (from variable) Reads the last row number from a saved value (empty) No
Hidden (from variable) Reads the hide/show yes/no from a saved value (empty) No

Important behavior: hides rows Start row to End row when Hidden is on, or shows them when off. When showing rows, any rows in the range that don’t exist are left as they are.


Unfreeze Panes .xlsx

Removes any freeze set on the sheet.

When to use it: to undo a Freeze top rows or Freeze left columns and let the whole sheet scroll again.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to unfreeze. Supports @name Sheet1 No

Important behavior: removes a freeze set by Freeze top rows or Freeze left columns and returns the view to the top-left cell. Does nothing if the sheet has no frozen view.


Ungroup Columns .xlsx

Ungroups a range of columns by one outline level.

When to use it: to undo a Group columns on part or all of a grouped range.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to ungroup columns on. Supports @name Sheet1 No
Start column letter First column of the range (A, B, …). Supports @name A No
End column letter Last column of the range. Supports @name B No

Important behavior: lowers the outline level of columns Start column letter to End column letter by one; columns that aren’t grouped are left unchanged, and the grouping is removed entirely once it reaches the top level.


Ungroup Rows .xlsx

Ungroups a range of rows by one outline level.

When to use it: to undo a Group rows on part or all of a grouped range.

Parameter Meaning Default Required
Document Document the instruction applies to (current document) No
Sheet name Tab to ungroup rows on. Supports @name Sheet1 No
Start row First row of the range 1 No
End row Last row of the range 1 No
Start row (from variable) Reads the first row number from a saved value (empty) No
End row (from variable) Reads the last row number from a saved value (empty) No

Important behavior: lowers the outline level of rows Start row to End row by one; rows that aren’t grouped (or don’t exist) are left unchanged, and the grouping is removed entirely once it reaches the top level.


This documentation is the help of the application, and it comes underCreative Commons Attribution 4.0.