> For the complete documentation index, see [llms.txt](https://docs.fabricplan.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fabricplan.com/documentation/readme/powertable-sheets/how-tos/insert-import-duplicate-and-delete-rows.md).

# Insert, import, duplicate, and delete rows

Powertable provides multiple ways to add, import, copy, duplicate, and delete rows in a table. You can insert rows manually, import data from external files, duplicate existing records, or remove records as needed.

Powertable provides the following row management capabilities:

* Adding one or more rows directly to the table.
* Importing large data sets from Excel or CSV files.
* Duplicating existing records to reduce the amount of manual data entry
* Copying records for use in other applications.
* Deleting one or more rows from a table.

In this article, you learn how to insert, import, copy, duplicate, and delete rows in a powertable sheet.

### Insert rows

Use the **Insert Row** option to manually add new rows to a table.

{% hint style="info" %}

#### Note

Use the [**Import**](#import-bulk-data) option to insert or update rows by using data from an external file.
{% endhint %}

#### Insert a single row

To insert a single row:

1. Select **PowerTable** > **Insert Row**.<br>

   <figure><img src="/files/L2qhbUOuhXYK6tHYp5E4" alt=""><figcaption></figcaption></figure>

2. A new blank row is added as the last row in the table.&#x20;

3. Select each cell, enter a value, and press **Enter**.<br>

   <figure><img src="/files/pnjE5bQjON8vjh0hhgjb" alt=""><figcaption></figcaption></figure>

4. After inserting the required row(s) and entering the data, select **Save to Database** to save the changes.

You can use **Preview Changes** to review the changes before saving or **Discard Changes** to remove the unsaved row(s).

#### Insert multiple rows

To insert multiple rows:

1. Select the dropdown next to **PowerTable** > **Insert Row**.
2. Select **Insert Multiple Rows**.<br>

   <figure><img src="/files/MfJAv8fzDjebBSgDQN35" alt=""><figcaption></figcaption></figure>
3. Enter the **Number of Rows** to insert.
4. Select **Insert**.<br>

   <figure><img src="/files/ATBUNYtJ5hWnmie2SZdz" alt=""><figcaption></figcaption></figure>

The specified number of rows is added to the table.

<figure><img src="/files/HwfDOAu9imBMcxrJ1iES" alt=""><figcaption></figcaption></figure>

5. Select each cell, enter a value, and press **Enter**.
6. Alternatively, you can [copy multiple rows from a spreadsheet application](#copy-paste-rows) such as Excel and paste them into the table.&#x20;
7. Select **Save to Database** to save the changes.

You can use **Preview Changes** to review the changes before saving or **Discard Changes** to remove the unsaved row(s).

{% hint style="info" %}

#### Note

* A maximum of 1,000 rows can be inserted at one time.
* Access controls can be configured to determine who can add rows to a table. For more information, see [Access control](/documentation/readme/powertable-sheets/how-tos/set-up-row-and-column-access-control.md).
  {% endhint %}

#### Insert using form interface

You can also configure the form interface as the default method for adding rows.

To set up the insert using a form interface:

1. Select the dropdown next to **PowerTable** > **Insert Row**.

2. Enable the **Insert Using Form By Default** toggle.<br>

   <figure><img src="/files/aBlcYxrWvkCBFfAzz5dJ" alt=""><figcaption></figcaption></figure>

3. Now when you select **Insert Row**, a new row is inserted, and the **Form Editor** opens automatically.

<figure><img src="/files/TwJ0qhdXFoIInC9ykVn0" alt=""><figcaption></figcaption></figure>

4. Enter the required values for the new row and select **Apply**.

<figure><img src="/files/UxabLBvnyCSz1zOzdv82" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Note

Use [**Customize Form**](/documentation/readme/powertable-sheets/how-tos/generate-forms.md#customize-form) to change the form fields and structure. The Form configuration interface lets you to add, edit, delete, and format form fields.
{% endhint %}

The new row is inserted into the table.

<figure><img src="/files/UdIBQUuglZVm55ju5Yj4" alt=""><figcaption></figcaption></figure>

5. After inserting the required row(s), select **Save to Database** to save the changes.

### Insert rows using forms

New rows can also be added using shareable PowerTable forms distributed via email or embedded in websites. When users submit a form, the submitted values are inserted as new records in the table.

For information about creating and sharing forms, see [Create data entry forms](/documentation/readme/powertable-sheets/how-tos/generate-forms.md).

PowerTable forms only support creating new records. Updating existing records through forms is not supported.

### Import bulk data

You can also import bulk data from Excel or CSV files to add new rows or update existing rows.&#x20;

When you import data, PowerTable compares the primary key values in the imported file with the existing records in the table.

* Records with matching primary keys are updated.
* Records with new primary keys are inserted as new rows.
* Records with mismatched or invalid data are flagged as errors and can be reviewed through the import error logs.

To import data:

1. Select **PowerTable** > **Import**.

   <figure><img src="/files/NP1JYUogf7LItFNcXf3E" alt=""><figcaption></figcaption></figure>
2. The **Import** dialog box appears. Select the **Excel** or **CSV option** to specify the format of the file and then select **Continue**.<br>

   <figure><img src="/files/RrsfLRHqAqOVNVA9eUk6" alt=""><figcaption></figcaption></figure>
3. Browse or drop the file in the selected format and select **Upload**.<br>

   <figure><img src="/files/NxZBdsCD08mjVLJVH0Jr" alt=""><figcaption></figcaption></figure>

   <div align="center"><figure><img src="/files/LgVxSJS3ctQ36ZY4knJw" alt=""><figcaption></figcaption></figure></div>
4. Review the uploaded data and the count of rows marked for insert and update operations, and then select **Import**. Any import errors, such as data type mismatches, are displayed under the **Error** tab.<br>

   <figure><img src="/files/kMUn9AH2cZa0t4VQTuut" alt=""><figcaption></figcaption></figure>

The table is updated with the newly inserted rows and the modified values from the imported data.

<figure><img src="/files/KnAfXD6wzyxRPcz1Cdzf" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Note

* Ensure that the imported XLSX or CSV file contains the required primary key fields and any mandatory fields configured in the **Columns** section.
* A maximum of 20,000 new rows can be imported at one time.
  {% endhint %}

### Copy-paste rows

#### Excel to PowerTable sheet

You can populate a PowerTable sheet by copying rows from external applications, such as Microsoft Excel, and pasting them directly into the table. This is another way to add or update data, instead of an import, especially when there are only a few rows to insert.

1. Copy the rows you want to add from the spreadsheet.

<figure><img src="/files/NvB81qMPQ2eamYZ0evDo" alt=""><figcaption></figcaption></figure>

2. Use [**Insert Row**](#insert-rows) to insert one or more rows.
3. Select the newly added rows and then select **Paste** option or use **Ctrl+V**.

<figure><img src="/files/GHkNTmnCz6H1M2ng6N6T" alt=""><figcaption></figcaption></figure>

The data is now imported from Excel to the PowerTable sheet using the copy-paste method.

#### PowerTable sheet to other applications

You can also copy data from a PowerTable sheet and paste it into external applications such as Microsoft Excel, Word, or Notepad for further analysis, reporting, or sharing.

To copy rows:

1. Select one or more rows.
2. Select the **Copy to Clipboard** icon on the toolbar. Alternatively, you can also use the shortcut key for copy (Ctrl+C).
3. Paste the data in the required application(s).<br>

   <figure><img src="/files/dAWfedphBas77dT2LNQf" alt=""><figcaption></figcaption></figure>

### Duplicate rows

Duplicate existing records and then modify only the required fields.

To duplicate rows:

1. Select one or more rows.
2. Select **Duplicate** option on the toolbar.<br>

   <figure><img src="/files/fRozutJPr24F4pdGtpBR" alt=""><figcaption></figcaption></figure>

The selected rows are duplicated. Now, you can update the required fields.

<figure><img src="/files/oHN4Fw23Qasq0EPfrngF" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}

#### Note

Unique primary key values must be updated after duplication because the original primary key values are copied to the new records.
{% endhint %}

### Delete rows

Delete one or more rows from a table.

To delete rows:

1. Select one or more rows.
2. Select **Delete** on the toolbar.

<figure><img src="/files/I0IdwRkot9nr8iDgS7gd" alt=""><figcaption></figcaption></figure>

3. In the confirmation dialog box, select **Proceed**.

<figure><img src="/files/OwcanpD1Q5hWjI6zxtuu" alt=""><figcaption></figcaption></figure>

The selected rows are deleted.

{% hint style="info" %}

#### Note

Depending on the delete type configuration, rows are either soft-deleted or permanently deleted. To know more, see **delete type** in the [delete](/documentation/readme/powertable-sheets/how-tos/set-up-row-and-column-access-control.md#delete) section.
{% endhint %}

<figure><img src="/files/jAa9sRgwR6YTwfBGipOV" alt=""><figcaption></figcaption></figure>

4. After deleting the required row(s), select **Save to Database** to save the changes, or **Discard Changes** to revert the deletion.

{% hint style="info" %}

#### Note

1. Access controls can be configured to determine who can delete rows from a table. For more information, see the [access control](/documentation/readme/powertable-sheets/how-tos/set-up-row-and-column-access-control.md#delete) documentation.
2. If an approval workflow is configured, update and deletion requests are routed through the workflow before the records are updated or deleted. To know more, see [Approval workflow](/documentation/readme/powertable-sheets/how-tos/approval-flow.md).
   {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.fabricplan.com/documentation/readme/powertable-sheets/how-tos/insert-import-duplicate-and-delete-rows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
