# Paste Options

An explanation of the different pasting options available in SpreadJS, including the operation options and UI examples

## Content

SpreadJS provides multiple paste options in a spreadsheet. These options are available when you access the context menu by right clicking an active cell or a selected range.

![paste-options](https://cdn.mescius.io/document-site-files/images/ef9b66d1-0ae2-4e94-b8cb-f9f893aacc8d/paste-options.167992.png?width=300)

| **Paste Option** | **Description** |
| ------------ | ----------- |
| Paste All | Pastes all the cell contents in the target region.<br>![paste-all.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-all.372616.gif) |
| Paste Formula | Pastes formula(s) without formatting in the target region.<br>![paste-func.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-func.eaec01.gif) |
| Paste Value | Pastes formula results without formatting in the target region.<br>![paste-value.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-value.88574a.gif) |
| Paste Formatting | Pastes only the formatting in the target region.<br>The pasted format is adjusted according to the size of the target region while pasting styles, spans, and conditional formats.<br>Note: Paste Formatting does not support 'Paste Skip Invisible Range'.<br>![paste-format.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-format.fba153.gif) |
| Paste Values and Formatting | Pastes values and formatting in the target region.<br>![paste-format-value.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-format-value.59339f.gif) |
| Paste Formula and Formatting | Pastes formula(s) with formatting in the target region.<br>![paste-format-func.gif](https://cdn.mescius.io/document-site-files/images/8d606653-16a0-474d-b9dc-e2b4d01c2446/paste-format-func.9ea81e.gif) |
| @cols=2:**Paste Special Option** |
| All except Borders | Pastes all cell contents applied to the copied cell, except borders.<br>![no-border](https://cdn.mescius.io/document-site-files/images/ef9b66d1-0ae2-4e94-b8cb-f9f893aacc8d/no-border.d9c6aa.gif?width=500) |
| Keep Source Column Widths | Pastes the width of one copied column or range of columns to another column or range of columns.<br>![source-column-width](https://cdn.mescius.io/document-site-files/images/ef9b66d1-0ae2-4e94-b8cb-f9f893aacc8d/source-column-width.051fed.gif?width=500) |
| Transpose | Upon pasting, the content of copied cells is reoriented. Row data is copied into columns, and vice versa.<br>![transpose](https://cdn.mescius.io/document-site-files/images/ef9b66d1-0ae2-4e94-b8cb-f9f893aacc8d/transpose.e4f457.gif?width=500) |
| Paste Link | Refer to the source cells instead of the copied cell contents.<br>![paste-link](https://cdn.mescius.io/document-site-files/images/ef9b66d1-0ae2-4e94-b8cb-f9f893aacc8d/paste-link.db8671.gif?width=500) |
| Paste Comments | Pastes only comments attached to the copied cell.<br>![21](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/21.b05141.gif?width=500) |
| All Using Source Theme | Pastes all cell contents in the worksheet theme formatting that is applied to the copied data.<br>![source](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/source.c76753.gif?width=500) |
| Validation | Pastes data validation rules for the copied cells to the paste area.<br>![22](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/22.4f1476.gif?width=500) |
| Skip Blanks | Avoids replacing values in your paste area when blank cells occur in the copy area.<br>![4](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/4.409b54.gif?width=500) |
| Linked Picture <br>(Designer only) | A real-time dynamic snapshot of the copied range that copies images with a link to the original cells.<br>![old](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/old.09dccd.gif?width=500) |
| @cols=2:**Operation Option** |
| None | Specifies that no mathematical operation will be applied to the copied data.<br>![5](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/5.cd5031.gif?width=500) |
| Add | Adds the copied data to the data in the destination cell or range of cells.<br>![6](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/6.2504dd.gif?width=500) |
| Subtract | Subtracts the copied data from the data in the destination cell or range of cells.<br>![7.](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/7..6033dd.gif?width=500) |
| Multiply | Multiplies the copied data with the data in the destination cell or range of cells.<br>![8](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/8.a5a1ab.gif?width=500) |
| Divide | Divides the copied data by the data in the destination cell or range of cells.<br>![9](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/9.35c8ca.gif?width=500) |
| Transform | Transform the copied data with a custom single-parameter LAMBDA formula and specify how it is applied—by cell, by row, by column, or to the entire range.<br>![1](https://cdn.mescius.io/document-site-files/images/7719ad0a-f083-46d7-aff6-f63e2e187c15/1.5745ca.gif?width=500) |

Use the shortcut keys **(Ctrl+Alt+V)** or select the "**Paste Special**" option from the context menu to display the “**Paste Special Options Dialog**”. In this dialog, you can view all paste options and customize the context menu paste option.

> **Note**:
>
> * Paste Special only supports copy and paste of data and doesn’t support cut and paste.
> * Paste Special only supports internal paste.
> * The **Operation** and **Paste Link** functions are dependent on calcEngine.
>     Hence if calcEngine is not imported then the dialog hides these two functions, and the paste command does not work.
> * **Paste Dialog** doesn’t support “All merging conditional formats “
> * Paste Link does not support transform.​​​
> * The Transform feature is designed to operate exclusively on **values**, with transformed results retaining only **style and value**. In all other scenarios, this functionality will be grayed out, indicating it is unavailable for operation.
> * When a transformation yields a dynamic array result, the output will spill across adjacent cells based on the maximum number of rows and columns generated across all transformations.
> * Regardless of whether the selected paste cell range is larger than the copied cell range, the result of the Transform operation remains consistent.
> * In the transform operation, after transforming the cells, blank cells will be skipped, and transposition will be performed on the existing results.