# Insert Rows Workbook (preview)

> Insert Rows Workbook activity that inserts one or more rows into a sheet or range at a specified position.

`UiPath.Excel.Activities.InsertRows`

## Description

Inserts one or more rows into a sheet or range at a specified position. This is the cross-platform equivalent of the [Insert Rows](https://docs.uipath.com/activities/other/latest/productivity/insert-rows-x) Windows activity.

:::note
This activity does not support `.xls` files.
:::

## Project compatibility

Windows | Cross-platform

## Properties

### Common

* **DisplayName** - The name displayed for the activity in the Designer panel.

### Input

* **File** - The full path of the resource workbook. To switch to a local path, select the plus icon, and then **Use Local File**. The current field changes to **File (local path)**, where you can provide the full path of the workbook.
* **SheetName** - The name of the sheet from the workbook.
* **Range** - The range to insert rows into. If you don't specify a range, the used range of the sheet is used.
* **Number Of Rows** - The number of rows to insert. The value must be greater than zero. The default value is `1`.
* **Position** - Select where to insert the new rows. The default value is **End**. You can choose from the following options:
  * **Start** - Inserts the rows at the beginning of the range.
  * **End** - Inserts the rows immediately after the last row of the range.
  * **Specific index** - Inserts the rows at the row index in **Specific Row Index**.
* **Specific Row Index** - The 1-based row index, relative to the start of the range, at which to insert the rows. This field is required, and displayed, only when **Position** is **Specific index**. If you bind **Position** to a variable or an expression, the field is always displayed. The value must be at least 1 and not beyond the last row of the range, otherwise the activity fails and nothing is inserted.

### Options

* **Has Headers** - Select this option if the first row of the range is a header row. The header row stays on top, so the rows that you insert at the start go below it. By default, this option is not selected.

  :::note
  Unlike in the Windows **Insert Rows** activity, **Has Headers** is not selected by default. When it is not selected, **Start** inserts the rows at the very first row of the range.
  :::

* **Password** - The password of the workbook, if necessary.

### Use Workbook

* **Workbook** - The existing workbook to use instead of a file path.

## Notes

* The existing rows at and below the insertion point shift down.
* If you don't specify a range, entire sheet rows are inserted, relative to the used range of the sheet. If you specify a range, only the cells in the columns of the range shift down, as in the Windows activity. The cells below the range in those columns move down, and the other columns are not changed.
* **Start** and **Specific index** positions are counted from the first row of the range, below the header row when **Has Headers** is selected.

## Known limitations

Inserting rows into a table is not supported yet.
