Resize Sheet Dimensions
resize_sheet_dimensionsResize columns and rows, auto-fit content, freeze panes, hide or unhide, and insert or delete rows and columns in a Google Sheet, all in one call.
Instructions
Manages sheet-level dimension properties: resize columns/rows, auto-resize to fit content, freeze rows/columns, hide/unhide rows/columns, and insert/delete rows/columns.
Every row number and column letter refers to the sheet as it was before the call, even when one call both inserts and deletes. Deletes are applied before inserts, and an insert position inside a deleted span lands where that span was.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hide_rows | No | List of 1-based row numbers to hide. Example: [3, 4]. | |
| row_sizes | No | Dict mapping 1-based row numbers to pixel heights. Example: {"1": 40, "3": 60}. Can be a JSON string or Python dict. | |
| sheet_name | No | Sheet name to target. Defaults to the first sheet if not provided. | |
| delete_rows | No | List of 1-based row numbers to delete. Example: [5, 6]. Best for non-contiguous rows. | |
| insert_rows | No | Number of rows to insert. | |
| unhide_rows | No | List of 1-based row numbers to unhide. Example: [3, 4]. | |
| column_sizes | No | Dict mapping column letters to pixel widths. Example: {"A": 200, "C": 300}. Can be a JSON string or Python dict. | |
| hide_columns | No | List of column letters to hide. Example: ["C", "D"]. | |
| delete_columns | No | List of column letters to delete. Example: ["E", "F"]. | |
| insert_columns | No | Number of columns to insert. | |
| insert_rows_at | No | 1-based row number to insert before. Appends to the end of the sheet if omitted. | |
| spreadsheet_id | Yes | The ID of the spreadsheet. Required. | |
| unhide_columns | No | List of column letters to unhide. Example: ["C", "D"]. | |
| auto_resize_rows | No | List of 1-based row numbers to auto-resize to fit content. Example: [1, 2]. | |
| delete_row_range | No | Contiguous range of rows to delete, as "start:end" (1-based, inclusive). Example: "5:10" deletes rows 5 through 10. More efficient than delete_rows for large contiguous ranges. | |
| frozen_row_count | No | Number of rows to freeze from the top. Use 0 to unfreeze all rows. | |
| insert_columns_at | No | Column letter to insert before (e.g. "C"). Appends to the end if omitted. | |
| user_google_email | Yes | The user's Google email address. Required. | |
| auto_resize_columns | No | List of column letters to auto-resize to fit content. Example: ["A", "B"]. | |
| frozen_column_count | No | Number of columns to freeze from the left. Use 0 to unfreeze all columns. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |