diff --git a/Document-Processing/Excel/Spreadsheet/React/accessibility.md b/Document-Processing/Excel/Spreadsheet/React/accessibility.md index 586eb3bb1..f7e58096d 100644 --- a/Document-Processing/Excel/Spreadsheet/React/accessibility.md +++ b/Document-Processing/Excel/Spreadsheet/React/accessibility.md @@ -9,7 +9,7 @@ documentation: ug # Accessibility in React Spreadsheet component -The Spreadsheet component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria/#roles) that are commonly used to evaluate accessibility. +The Spreadsheet component followed the accessibility guidelines and standards, including [ADA](https://www.ada.gov/), [Section 508](https://www.section508.gov/), [WCAG 2.2](https://www.w3.org/TR/WCAG22/) standards, and [WCAG roles](https://www.w3.org/TR/wai-aria#roles) that are commonly used to evaluate accessibility. The accessibility compliance for the Spreadsheet component is outlined below. @@ -61,7 +61,7 @@ The Spreadsheet component followed the [WAI-ARIA](https://www.w3.org/WAI/ARIA/ap ## Keyboard interaction -The Spreadsheet component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert/#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Spreadsheet component. +The Spreadsheet component followed the [keyboard interaction](https://www.w3.org/WAI/ARIA/apg/patterns/alert#keyboardinteraction) guideline, making it easy for people who use assistive technologies (AT) and those who completely rely on keyboard navigation. The following keyboard shortcuts are supported by the Spreadsheet component. | Press | To do this | |----------|-------------| diff --git a/Document-Processing/Excel/Spreadsheet/React/cell-range.md b/Document-Processing/Excel/Spreadsheet/React/cell-range.md index b816856d4..38a12ad30 100644 --- a/Document-Processing/Excel/Spreadsheet/React/cell-range.md +++ b/Document-Processing/Excel/Spreadsheet/React/cell-range.md @@ -9,9 +9,9 @@ documentation: ug # Cell range in React Spreadsheet component -A group of cells in a sheet is known as cell range. +A **cell range** is a group of cells in a sheet. It allows you to work with multiple cells together for operations such as formatting, formulas, and data manipulation. -To get started quickly with Cell Range, you can check on this video: +To get started quickly with `Cell Range`, you can check out this video: {% youtube "https://www.youtube.com/watch?v=izgXkfzUMBQ" %} @@ -104,9 +104,9 @@ Auto Fill is used to fill the cells with data based on adjacent cells. It also f You can do this by one of the following ways, * Using “AutoFillOptions” menu which is open, while drag and drop the cell using fill handle element. -* Use the autoFill() method programmatically. +* Use the autoFill method programmatically. -The available parameters in `autoFill()` method are, +The available parameters in `autoFill` method are, | Parameter | Type | Description | |-----|------|----| @@ -184,14 +184,14 @@ In the following sample, you can enable/disable the fill option on the button cl ## Clear -Clear feature helps you to clear the cell contents (formulas and data), formats (including number formats, conditional formats, and borders) in a spreadsheet. When you apply clear all, both the contents and the formats will be cleared simultaneously. +The **Clear** feature allows you to remove cell contents (formulas and data) and formats (including number formats, conditional formats, and borders) in a spreadsheet. When you apply **Clear All**, both the contents and the formats are removed simultaneously. ### Apply Clear Feature You can apply clear feature by using one of the following ways, -* Select the clear icon in the Ribbon toolbar under the Home Tab. -* Using the [`clear()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#clear) method to clear the values. +* Select the clear icon in the Ribbon toolbar under the `Home` Tab. +* Using the [`clear`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#clear) method to clear the values. Clear has the following types in the spreadsheet, @@ -204,7 +204,11 @@ Clear has the following types in the spreadsheet, ### Methods -Clear the cell contents and formats in the Spreadsheet document by using the [clear](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#clear) method. The [clear](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#clear) method has `type` and `range` as parameters. The following code example shows how to clear the cell contents and formats in the button click event. +You can clear cell contents and formats in the Spreadsheet by using the [`clear`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#clear) method. The `clear` method accepts two parameters: +* `type` – specifies the type of clear operation (`Clear All`, `Clear Formats`, `Clear Contents`, or `Clear Hyperlinks`). +* `range` – specifies the cell or range of cells to clear. + +The following code example demonstrates how to clear cell contents and formats in a button click event. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/comment.md b/Document-Processing/Excel/Spreadsheet/React/comment.md index 1225fe2d3..150a9d0aa 100644 --- a/Document-Processing/Excel/Spreadsheet/React/comment.md +++ b/Document-Processing/Excel/Spreadsheet/React/comment.md @@ -8,14 +8,17 @@ documentation: ug --- # Comment in React Spreadsheet control -The **Comment** feature allows you to add feedback to cells without changing their values, enabling contextual discussions through threaded **replies**. Unlike [Notes](./notes), Comment include advanced review tools such as **resolve** and **reopen** to track status, plus an optional **Comments Review Pane** for browsing and managing threads. +The **Comment** feature allows you to add feedback to cells without changing their values, enabling contextual discussions through threaded **replies**. Unlike [Notes](./notes), Comment include advanced review tools such as `resolve` and `reopen` to track status, plus an optional **Comments Review Pane** for browsing and managing threads. -Cells with comment display a small comment indicator; hover to preview the comment editor. This provides a clear, collaborative workflow while keeping data intact. +Cells that contain a comment show a small indicator. Hovering over the cell opens a preview of the comment editor. This helps maintain a clear workflow for collaboration while keeping the original data unchanged. ![Spreadsheet showing a comment](./images/spreadsheet_comment.png) ## Author identity -The Syncfusion Spreadsheet does not automatically track user identity. To tag new comments and replies with an author name, set the `author` property when initializing the Spreadsheet. +The Syncfusion Spreadsheet does not automatically track author details. To assign an author name to new comments and replies, set the `author` property when initializing the Spreadsheet. + +If the `author` property is not defined, the default value will be **Guest User**. + ```ts import * as React from 'react'; @@ -32,29 +35,33 @@ The Syncfusion Spreadsheet does not automatically track user identity. To tag ne const root = createRoot(document.getElementById('root')!); root.render(); ``` ->If the author property is not set, "Guest User" will be displayed as the author for comment and replies by default. +> If the `author` property is not set, "Guest User" will appear as the author for comments and replies by default. ## Adding a comment -You can add a **comment** to a cell in several ways: -* **Context menu**: Right-click the target cell and select **"New Comment"**. -* **Ribbon**: Go to **Review > Comment > New Comment**. -* **Keyboard shortcut**: Press Ctrl + Shift + F2 to open the comment editor for the active cell. -* **Programmatically**: - * Use the `updateCell` method with the comment model to add a comment to a specific cell. - * Bind comments via code-behind during initial load by associating the comment model with the cell model. + +A **comment** can be added to a cell in different ways: + +* **Context menu**: Right-click the cell and choose **New Comment**. +* **Ribbon**: Go to **Review > Comment > New Comment**. +* **Keyboard shortcut**: Press Ctrl + Shift + F2 to open the comment editor for the active cell. +* **Programmatically**: + * Use the [updateCell](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#updatecell) method with the comment model to add a comment to a specific cell. + * Bind comments during initial load by linking the comment model with the cell model. The image below shows that once a comment is posted, the cell displays an indicator, and the comment can be previewed on hover. ![Adding a comment in Spreadsheet](./images/spreadsheet_adding_a_comment.gif) ## Adding a reply -You can add one or more replies to an existing comment to provide additional details or answers: -* **Context menu**: Right-click the cell that already has a comment, select **Comment > New Reply**, enter your reply, and click **Post**. + +Replies can be added to an existing comment to provide more details or responses: + +* **Context menu**: Right-click the cell that already has a comment, choose **Comment > New Reply**, type the reply, and click **Post**. * **Ribbon**: Go to **Review > Comment > New Comment** on a cell that contains a comment. This opens the comment editor in **reply mode**. -* **Comment editor**: Open the comment editor by hovering over the comment indicator, type your reply, and click **Post**. -* **Keyboard shortcut**: Press Ctrl + Shift + F2 on a cell that contains a comment to open the comment editor in reply mode. +* **Comment editor**: Hover over the comment indicator to open the editor, type the reply, and click **Post**. +* **Keyboard shortcut**: Press Ctrl + Shift + F2 on a cell with a comment to open the editor in reply mode. -After posting, the replies appear under the first comment in the comment editor. +After posting, replies appear directly under the original comment in the comment editor. ![Adding a reply in Spreadsheet](./images/spreadsheet_comment_reply.png) @@ -67,7 +74,9 @@ You can edit the content of a comment or its replies directly within the comment ![Editing a comment reply in Spreadsheet](./images/spreadsheet_edit_comment.png) ## Resolve and Reopen -The **Resolve thread** option marks a comment thread as completed when the discussion or issue is addressed. When a thread is resolved, its background color changes to indicate the resolved state, and the reply input box and reply menu actions are hidden. Use **Reopen** to restore the comment if further discussion is needed. +The **Resolve thread** option is used to mark a comment thread as completed once the issue or discussion has been addressed. When a thread is resolved, its background color changes to show the resolved state, and the reply input box along with reply menu actions are hidden. + +If more discussion is needed later, the **Reopen** option can be used. Reopening a thread restores it to active state, brings back the reply input box, and re-enables the reply menu actions so the conversation can be continued. ### Resolve a comment * In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Resolve Thread**. @@ -99,11 +108,11 @@ You can also use the `isResolved` property in the comment model when initializin You can delete either a specific reply or an entire comment thread (including all replies) using the following options: ### Deleting a comment thread -* **Context menu**: Right-click the cell that contains the comment and select **Comment > Delete Comment**. -* **Ribbon**: Go to **Review > Comment > Delete Comment** on a cell that contains the comment. -* **Comment editor**: In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Delete Thread** for an active comment or use the **Delete Thread** button in header for a resolved comment. +* **Context menu**: Right-click the cell that contains the comment and select **Comment > Delete Comment**. +* **Ribbon**: Go to **Review > Comment > Delete Comment** on a cell that contains the comment. +* **Comment editor**: In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Delete Thread** for an active comment, or use the **Delete Thread** button in the header for a resolved comment. -Deleting a thread removes the comment and all its replies from the cell. +Deleting a thread removes the comment and all of its replies from the cell. ![Deleting a comment thread in Spreadsheet](./images/spreadsheet_delete_comment.png) @@ -113,45 +122,47 @@ In the comment editor, hover over the reply and click the **"⋯" (More actions) ![Deleting a comment reply in Spreadsheet](./images/spreadsheet_delete-reply_comment.png) ## Next and Previous Comment -The **Review > Comment > Next Comment and Previous Comment** options in the ribbon allow you to quickly navigate between cells that contain comments: -* **Next Comment**: Moves to the next cell with a comment. -* **Previous Comment**: Moves to the previous cell with a comment. +The **Review > Comment > Next Comment** and **Previous Comment** options in the ribbon allow you move quickly between cells that contain comments: -Navigation starts within the active sheet. When all comments in the active sheet have been visited (end or start reached), the navigation automatically continues to the next or previous sheet that contains comments. This ensures you can review all comments across the workbook without manually switching sheets. +* **Next Comment**: Jumps to the next cell with a comment. +* **Previous Comment**: Jumps to the previous cell with a comment. + +Navigation starts in the active sheet. When all comments in that sheet have been visited (end or start reached), the navigation continues automatically to the next or previous sheet that has comments. This makes it easy to review all comments across the workbook without switching sheets manually. ![Next and Previous comments in Spreadsheet](./images/spreadsheet_next_previous_comment.png) ## Comments review pane -The **"Comments" review pane** provides a centralized view of all comments in the active sheet, making it easier to manage discussions without switching between individual cells. It offers filtering, inline actions, and navigation, ensuring an efficient review workflow across the workbook. +The **Comments review pane** gives a clear, central view of all comments in the active sheet, making it easier to manage discussions without moving through each cell one by one. It provides options for filtering, quick actions, and navigation, helping maintain an efficient review process across the workbook. -You can show or hide the "Comments" review pane using: +You can show or hide the Comments review pane in two ways: * **Ribbon**: Go to **Review > Comment > Show Comments**. -* **Property**: Set the `showCommentsPane` property to true when initializing the Spreadsheet. By default, this property is **false**. +* **Property**: Set the `showCommentsPane` property to **true** when initializing the Spreadsheet. By default, this property is set to **false**. ![Show comments in Spreadsheet](./images/spreadsheet_show_comments.gif) ### Features of the comments review pane -The "Comments" review pane is rendered within the spreadsheet interface to provide a dedicated space for managing comments efficiently. It acts as a centralized hub where you can view all comment threads, perform actions, and keep discussions organized without navigating cell by cell. +The "Comments" review pane appears inside the Spreadsheet to give a dedicated space for handling comments. It works as a central place where all comment threads can be viewed, managed, and organized without moving cell by cell. -The "Comments" review pane allows you to: +The "Comments" review pane supports the following actions: -* Add new comment using the **New** button. -* Filter comments by **All**, **Active**, or **Resolved** to view specific comment threads. -* Navigate between comments and synchronize selection with the corresponding cells. +* Add a new comment using the **New** button. +* Filter comments by **All**, **Active**, or **Resolved** to show specific threads. +* Move between comments and link the selection with the related cells. * Perform actions such as: - * **Reply** – Add replies directly from the review pane. - * **Edit** – Modify the text of a comment or reply. - * **Delete** – Remove a reply or an entire thread. - * **Resolve/Reopen** – Change the status of a comment. + * **Reply** – Add a reply directly in the review pane. + * **Edit** – Change the text of a comment or reply. + * **Delete** – Remove a reply or the whole thread. + * **Resolve/Reopen** – Update the status of a comment. + +When the review pane is open, any action done in the review pane or in the cell’s comment editor stays in synchronized. -When the review pane is open, all actions performed in the review pane or in the cell’s comment editor are synchronized: -* Selecting a comment in the review pane highlights the corresponding cell in the sheet. -* Selecting a cell with a comment focuses the respective comment thread in the review pane. -* Actions such as **Reply**, **Edit**, **Delete**, and **Resolve/Reopen** update both the pane and the cell comment editor instantly, ensuring consistency across the UI. -* The review pane dynamically updates when comments are added, deleted, or resolved, so you always see the latest state without refreshing. +* Selecting a comment in the review pane highlights the matching cell in the worksheet. +* Selecting a cell that has a comment opens the related comment thread in the review pane. +* Actions such as **Reply**, **Edit**, **Delete**, and **Resolve/Reopen** update both the review pane and the cell comment editor at the same time, keeping them consistent. +* The review pane updates automatically when comments are added, removed, or resolved, so the latest state is always shown without needing to refresh. ## Saving a Workbook with Comments You can save spreadsheet data along with **comments** using **File > Save As > Microsoft Excel(.xlsx)**. @@ -160,17 +171,21 @@ You can save spreadsheet data along with **comments** using **File > Save As > M > Comments are **not included** when exporting to **.xls**, **.csv**, and **.pdf**. ### Why comments are not saved in `.xls` -The **.xls** format is based on the older Excel binary structure (BIFF8), which does not support modern features like **threaded comments**. -Threaded comments introduced in newer Excel versions require the **Open XML** structure used by `.xlsx`. +### Why comments are not saved in `.xls` + +The **.xls** format is built on the older Excel binary structure (BIFF8). This structure does not support newer features such as **threaded comments**. +Threaded comments require the **Open XML** structure that is used in `.xlsx` files. > To retain threaded comments, always save the workbook in **.xlsx** format. ## Bind Comments via code-behind -You can bind **comment thread** to cells at initial load by providing a `comment` object in the cell model. Each cell supports **per comment thread**, which can include: -- **Comment**: `author`, `text`, `createdTime`, `isResolved` -- **Replies**: A collection of replies. Each reply is an object containing its `author`, `text`, and `createdTime` (no nested replies-of-replies). -In the below sample, comments are added to a specific cell using cell data binding. The "Comments" review pane is shown initially by enabling the `showCommentsPane` property, and comments are added using `updateCell` method in the `created` event. +You can attach a **comment thread** to cells during initial load by adding a `comment` object in the cell model. Each cell supports one comment thread, which can include: + +- **Comment**: Contains `author`, `text`, `createdTime`, and `isResolved`. +- **Replies**: A list of replies. Each reply has its own `author`, `text`, and `createdTime`. Nested replies (replies to replies) are not supported. + +In the example below, comments are added to a specific cell using cell data binding. The "Comments" review pane is shown at startup by enabling the `showCommentsPane` property, and comments are added with the `updateCell` method inside the `created` event. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -189,10 +204,11 @@ In the below sample, comments are added to a specific cell using cell data bindi * **New comment**: When the "Comments" review pane is enabled, adding a new comment renders the drafted comment editor directly in the "Comments" review pane. ## Limitations -* **Un-posted comments are not stored**: If you type in the comment editor and close it without clicking **Post**, the entered text is not saved and will not appear when you reopen the editor. Only posted content is persisted in the comment model. -* **Comments and Notes cannot coexist**: When a cell contains comment, notes cannot be added. Similarly, if a cell already has a notes, comment cannot be added. -* **Comments in Print**: Comments are not included in print output. -* **Non-collaborative**: Real-time multi-user synchronization is not supported. However, when exporting and re-importing the workbook, the author information for each comment and reply is preserved. + +* **Draft comments are not saved**: Text typed in the comment editor is lost if the editor is closed without clicking **Post**. Only posted comments are stored and shown again when the editor is reopened. +* **Comments and Notes cannot be used together**: A cell can have either a comment or a note, but not both. If a cell already has a comment, a note cannot be added, and if it has a note, a comment cannot be added. +* **Comments in print output**: Comments are not included when printing the worksheet or workbook. +* **No real-time collaboration**: Multiple people cannot edit comments at the same time. However, when a workbook is exported and then imported again, the author details for each comment and reply remain available. ## See Also * [Notes](./notes) diff --git a/Document-Processing/Excel/Spreadsheet/React/context-menu.md b/Document-Processing/Excel/Spreadsheet/React/context-menu.md index bc070726e..157bc70ed 100644 --- a/Document-Processing/Excel/Spreadsheet/React/context-menu.md +++ b/Document-Processing/Excel/Spreadsheet/React/context-menu.md @@ -9,11 +9,11 @@ documentation: ug # Context menu in React Spreadsheet component -Context Menu is used to improve user interaction with Spreadsheet using the popup menu. This will open when right-clicking on Cell/Column Header/Row Header/ Pager in the Spreadsheet. You can use [`enableContextMenu`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enablecontextmenu) property to enable/disable context menu. +The Context menu is used to improve user interaction with the Spreadsheet through a popup menu. It opens when right-clicking on a cell, column header, row header, or pager in the Spreadsheet. You can use the [`enableContextMenu`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enablecontextmenu) property to enable or disable the context menu. > The default value for the `enableContextMenu` property is `true`. -## Context Menu Items in Row Cell +## Context menu Items in Row Cell Please find the table below for default context menu items and their actions. @@ -29,7 +29,8 @@ Please find the table below for default context menu items and their actions. ## Context Menu Items in Row Header / Column Header -Please find the table below for default context menu items and their actions. +The context menu in row and column headers provides quick access to common actions for managing spreadsheet data. +Refer to the table below for the default context menu items and their actions. | Context Menu items | Action | |-------|---------| @@ -44,7 +45,8 @@ Please find the table below for default context menu items and their actions. ## Context Menu Items in Pager -Please find the table below for default context menu items and their actions. +The context menu in the pager provides quick access to actions for managing worksheet navigation and related options. +Refer to the table below for the default context menu items and their actions. | Context Menu items | Action | |-------|---------| @@ -54,6 +56,65 @@ Please find the table below for default context menu items and their actions. | [`Protect Sheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#protectsheet) | Prevent unwanted changes from others by limiting their ability to edit. | | [`Hide`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#hide) |Hide the selected worksheet. | +## Context Menu Customization + +You can perform the following context menu customization options in the spreadsheet + +* Add Context Menu Items +* Remove Context Menu Items +* Enable/Disable Context Menu Items + +### Add Context Menu Items + +You can add the custom items in context menu using the [`addContextMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addcontextmenuitems) in `contextmenuBeforeOpen` event + +In this demo, Custom Item is added after the Paste item in the context menu. + +{% tabs %} +{% highlight js tabtitle="app.jsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs1/app/app.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="app.tsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs1/app/app.tsx %} +{% endhighlight %} +{% endtabs %} + + {% previewsample "/document-processing/code-snippet/spreadsheet/react/context-menu-cs1" %} + +### Remove Context Menu Items + +You can remove the items in context menu using the [`removeContextMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#removecontextmenuitems) in `contextmenuBeforeOpen` event + +In this demo, Insert Column item has been removed from the row/column header context menu. + +{% tabs %} +{% highlight js tabtitle="app.jsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs2/app/app.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="app.tsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs2/app/app.tsx %} +{% endhighlight %} +{% endtabs %} + + {% previewsample "/document-processing/code-snippet/spreadsheet/react/context-menu-cs2" %} + +### Enable/Disable Context Menu Items + +You can enable/disable the items in context menu using the [`enableContextMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enablecontextmenuitems) in `contextmenuBeforeOpen` event + +In this demo, Rename item is disabled in the pager context menu. + +{% tabs %} +{% highlight js tabtitle="app.jsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs3/app/app.jsx %} +{% endhighlight %} +{% highlight ts tabtitle="app.tsx" %} +{% include code-snippet/spreadsheet/react/context-menu-cs3/app/app.tsx %} +{% endhighlight %} +{% endtabs %} + + {% previewsample "/document-processing/code-snippet/spreadsheet/react/context-menu-cs3" %} + ## Note You can refer to our [React Spreadsheet](https://www.syncfusion.com/spreadsheet-editor-sdk/react-spreadsheet-editor) feature tour page for its groundbreaking feature representations. You can also explore our [React Spreadsheet example](https://www.syncfusion.com/spreadsheet-editor-sdk/react-spreadsheet-editor) to knows how to present and manipulate data. @@ -62,4 +123,4 @@ You can refer to our [React Spreadsheet](https://www.syncfusion.com/spreadsheet- * [Customize context menu](./user-interface-customization/customize-context-menu) * [Worksheet](./worksheet) -* [Rows and columns](./rows-and-columns) \ No newline at end of file +* [Rows and columns](./rows-and-columns) diff --git a/Document-Processing/Excel/Spreadsheet/React/data-binding.md b/Document-Processing/Excel/Spreadsheet/React/data-binding.md index 3af4fa346..ecc666a87 100644 --- a/Document-Processing/Excel/Spreadsheet/React/data-binding.md +++ b/Document-Processing/Excel/Spreadsheet/React/data-binding.md @@ -9,7 +9,8 @@ documentation: ug # Data binding in React Spreadsheet component -The Spreadsheet uses [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/getting-started), which supports both RESTful JSON data services and local JavaScript object array binding to a range. The `dataSource` property can be assigned either with the instance of [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/getting-started) or JavaScript object array collection. +The Spreadsheet supports binding data from both **RESTful JSON services** and **local JavaScript object arrays** using the [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/getting-started). +You can assign the `dataSource` property either with a `DataManager` instance or directly with a JavaScript object array collection. To get start quickly with Data Binding, you can check on this video: @@ -19,7 +20,7 @@ To get start quickly with Data Binding, you can check on this video: ## Local data -To bind local data to the Spreadsheet, you can assign a JavaScript object array to the `dataSource` property. +Bind local data to the Spreadsheet by assigning a JavaScript object array to the `dataSource` property. Refer to the following code example for local data binding. @@ -44,7 +45,7 @@ Refer to the following code example for local data binding. ### Customizing column data mapping -By default, when a data source is bound to a sheet, columns are auto-assigned from the data source fields sequentially. This means that the first field in the data source is assigned to Column A, the second to Column B, and so on, sequentially. However, now you can customize the column assignments by specifying the appropriate field names in the desired order using the [fieldsOrder](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel/#fieldsorder) property. +By default, columns are auto-assigned sequentially from data source fields (first field → Column A, second field → Column B, etc.). To customize this mapping, use the [fieldsOrder](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel#fieldsorder) property to specify field names in your desired order. > You can customize the mapping of column data only in the local data binding support. @@ -63,7 +64,7 @@ The following code example demonstrates how to customize the mapping of column d ## Remote data -To bind remote data to the Spreadsheet control, assign service data as an instance of [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/getting-started) to the `dataSource` property. To interact with remote data source, provide the service endpoint `url`. +To Bind remote data to the Spreadsheet by assigning a [`DataManager`](https://ej2.syncfusion.com/react/documentation/data/getting-started) instance to the `dataSource` property. Provide the service endpoint URL to interact with the remote data source. Refer to the following code example for remote data binding. @@ -109,7 +110,7 @@ Refer to the following code example for remote data binding. ### Web API -You can use WebApiAdaptor to bind spreadsheet with Web API created using OData endpoint. +To Bind the Spreadsheet with a Web API created using an OData endpoint by using the **WebApiAdaptor**. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -130,7 +131,7 @@ You can use WebApiAdaptor to bind spreadsheet with Web API created using OData e ## Cell data binding -The Spreadsheet control can bind the data to individual cell in a sheet . To achive this you can use the `value` property. +Bind data to individual cells in a sheet using the `value` property. Refer to the following code example for cell data binding. @@ -188,11 +189,14 @@ The following table defines the arguments of the `dataSourceChanged` event. ## Dynamic data binding using updateRange method -The [updateRange](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#updaterange) method allows you to dynamically update the [dataSource](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel/#datasource) in a spreadsheet without manually iterating through each cell. This method is especially useful for efficiently applying bulk updates to a specific range within the spreadsheet. +The [updateRange](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#updaterange) method enables bulk updates to the [dataSource](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel#datasource) without iterating through individual cells, making it efficient for large data updates. -To use the [updateRange](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#updaterange) method, provide the new [dataSource](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel/#datasource) and specify the starting cell for the update using the [startCell](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel/#startcell) property of the `RangeDirective`. Additionally, set the `sheetIndex` to target the appropriate sheet for the update. +**Setup:** +- Provide the new `dataSource` to update. +- Specify the starting cell using the [startCell](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/rangeModel#startcell) property in the `RangeDirective`. +- Set the `sheetIndex` to target the appropriate sheet. -The following code example demonstrates how to dynamically update data using the [updateRange](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#updaterange) method. +The following code example demonstrates how to dynamically update data using the [updateRange](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#updaterange) method. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/data-validation.md b/Document-Processing/Excel/Spreadsheet/React/data-validation.md index ef58cc13c..70d3bf442 100644 --- a/Document-Processing/Excel/Spreadsheet/React/data-validation.md +++ b/Document-Processing/Excel/Spreadsheet/React/data-validation.md @@ -7,10 +7,10 @@ control: Data validation documentation: ug --- -# Data validation in EJ2 React Spreadsheet control +# Data validation in React Spreadsheet component +Data validation restricts users from entering invalid data. Use the [`allowDataValidation`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowdatavalidation) property to enable or disable data validation. -Data Validation is used to restrict the user from entering the invalid data. You can use the [`allowDataValidation`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowdatavalidation) property to enable or disable data validation. > * The default value for `allowDataValidation` property is `true`. @@ -18,37 +18,33 @@ Data Validation is used to restrict the user from entering the invalid data. You You can apply data validation to restrict the type of data or the values that users enter into a cell. -You can apply data validation by using one of the following ways, +* **Ribbon UI:** Select the **Data** tab, then choose **Data Validation**. +* **Programmatically:** Use the [`addDataValidation`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#adddatavalidation) method. -* Select the Data tab in the Ribbon toolbar, and then choose the Data Validation item. -* Use the [`addDataValidation()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#adddatavalidation) method programmatically. ## Clear Validation -Clear validation feature is used to remove data validations from the specified ranges or the whole worksheet. +Clear validation using one of these methods: -You can clear data validation rule by one of the following ways, +* **Ribbon UI:** Select the **Data** tab, then choose **Clear Validation**. +* **Programmatically:** Use the [`removeDataValidation`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#removedatavalidation) method. -* Select the Data tab in the Ribbon toolbar, and then choose the Clear Validation item. -* Use the [`removeDataValidation()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#removedatavalidation) method programmatically. ## Highlight Invalid Data Highlight invalid data feature is used to highlight the previously entered invalid values. -You can highlight an invalid data by using one of the following ways, +* **Ribbon UI:** Select the **Data** tab, then choose **Highlight Invalid Data**. +* **Programmatically:** Use the [`addInvalidHighlight`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addinvalidhighlight) method. -* Select the Data tab in the Ribbon toolbar, and then choose the Highlight Invalid Data item. -* Use the [`addInvalidHighlight()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addinvalidhighlight) method programmatically. ## Clear Highlighted Invalid Data Clear highlight feature is used to remove the highlight from invalid cells. -You can clear the highlighted invalid data by using the following ways, +* **Ribbon UI:** Select the **Data** tab, then choose **Clear Highlight**. +* **Programmatically:** Use the [`removeInvalidHighlight`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#removeinvalidhighlight) method. -* Select the Data tab in the Ribbon toolbar, and then choose the Clear Highlight item. -* Use the [`removeInvalidHighlight()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#removeinvalidhighlight) method programmatically. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -65,16 +61,12 @@ You can clear the highlighted invalid data by using the following ways, The Spreadsheet supports custom data validation, allowing users to define their own validation rules for specific cells or ranges. This feature enables you to set conditions that the entered data must meet, making it particularly useful when predefined validation options, such as numbers, dates, or lists, are insufficient. -With custom validation, you can enforce rules using logical expressions or formulas, ensuring that only valid data is entered into the Spreadsheet. - -For example, consider a scenario where you want to ensure that a cell contains a number between 10 and 100. To achieve this, define a validation rule using a formula that checks if the entered value is greater than 10 and less than 100. The formula for this validation is =AND(A1>10, A1<100), where A1 refers to the cell being validated. - -When this rule is applied, the Spreadsheet evaluates the entered value against the formula. If a user enters a value outside the specified range, an alert notifies them of the invalid input. This helps users correct errors efficiently and ensures that only desired values are accepted. +**Example:** Validate a number between 10 and 100 using the formula `=AND(A1>10, A1<100)`, where A1 is the cell being validated. The Spreadsheet evaluates entered values against the formula and displays an alert if validation fails. You can apply custom data validation using two methods. -* The first is through the Data Validation dialog in the Ribbon toolbar. Navigate to the Data tab, select the Data Validation option, and choose the Custom type from the Allow dropdown menu. -* The second method is programmatically, using the [`addDataValidation()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#adddatavalidation) method, which allows developers to set custom rules dynamically via code. +* **Ribbon UI:** Navigate to **Data** tab, select **Data Validation**, then choose **Custom** from the **Allow** dropdown. +* **Programmatically:** Use the [`addDataValidation`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#adddatavalidation) method. The following code example demonstrates how to add custom data validation with a formula in a Spreadsheet. diff --git a/Document-Processing/Excel/Spreadsheet/React/filter.md b/Document-Processing/Excel/Spreadsheet/React/filter.md index c276cf418..e9516d0df 100644 --- a/Document-Processing/Excel/Spreadsheet/React/filter.md +++ b/Document-Processing/Excel/Spreadsheet/React/filter.md @@ -21,14 +21,14 @@ In the active sheet, select a range of cells to filter by value of the cell. The * Select the filter item in the Ribbon toolbar. * Right-click the sheet, select the filter item in the context menu. -* Use the [`applyFilter()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#applyfilter) method programmatically. +* Use the [`applyFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#applyfilter) method programmatically. * Use `Ctrl + Shift + L` keyboard shortcut to apply the filter. > * Use `Alt + Up/Down` keyboard shortcut to open the filter dialog. ## Filter by criteria -The [`applyFilter()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#applyfilter) method will apply the filter UI, based on the predicate and range given in the arguments. +The [`applyFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#applyfilter) method will apply the filter UI, based on the predicate and range given in the arguments. > * The [`beforeFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#beforefilter) event will be triggered before filtering the specified range. > * The [`filterComplete`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#filtercomplete) event will be triggered after the filter action is completed successfully. @@ -62,7 +62,7 @@ After applying filter to a certain column, you may want to clear it to make all * Choose `Clear` option in ribbon toolbar under `Filter and Sort`. It clears the filters applied in the spreadsheet for all fields. -* Use the [`clearFilter()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#clearfilter) method programmatically, to clear the applied filters in spreadsheet for all fields. +* Use the [`clearFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#clearfilter) method programmatically, to clear the applied filters in spreadsheet for all fields. ## Clear filter on a field diff --git a/Document-Processing/Excel/Spreadsheet/React/formatting.md b/Document-Processing/Excel/Spreadsheet/React/formatting.md index 2595d8f99..a8bf6aaca 100644 --- a/Document-Processing/Excel/Spreadsheet/React/formatting.md +++ b/Document-Processing/Excel/Spreadsheet/React/formatting.md @@ -7,7 +7,7 @@ platform: document-processing documentation: ug --- -# Formatting in React Spreadsheet component +# Formatting Cells in React Spreadsheet component Formatting options make your data easier to view and understand. The different types of formatting options in the Spreadsheet are, * Number Formatting @@ -37,13 +37,13 @@ Number formatting provides a type for your data in the Spreadsheet. Use the [`al | Text | `@` | 49 | Number formatting can be applied in following ways, -* Using the `format` property in `cell`, you can set the desired format to each cell at initial load. +* Using the [format](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cell#format) property in `cell`, you can set the desired format to each cell at initial load. * Using the [`numberFormat`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#numberformat) method, you can set the number format to a cell or range of cells. * Selecting the number format option from ribbon toolbar. ### Custom Number Formatting -Spreadsheet supports custom number formats to display your data as numbers, dates, times, percentages, and currency values. If the pre-defined number formats do not meet your needs, you can set your own custom formats using custom number formats dialog or `numberFormat` method. +Spreadsheet supports custom number formats to display your data as numbers, dates, times, percentages, and currency values. If the pre-defined number formats do not meet your needs, you can set your own custom formats using custom number formats dialog or [`numberFormat`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#numberformat) method. The different types of custom number format populated in the custom number format dialog are, @@ -109,11 +109,11 @@ The following code example shows the number formatting in cell data. {% previewsample "/document-processing/code-snippet/spreadsheet/react/numberformat-cs1" %} -## Configure culture-based custom format +## Configure Culture-specific Custom format -Previously, the custom format dialog always displayed formats using the English settings (group separator, decimal separator, and currency symbol were not updated based on the applied culture). Starting from version `27.1.*`, the custom format dialog will now display formats according to the applied culture. You can select a culture-based number format from the dialog or enter your own format using the culture-specific decimal separator, group separator, and currency symbol. Then, click "Apply" to apply the culture-specific custom format to the selected cells. +Earlier, the custom format dialog always showed formats using English settings (group separator, decimal separator, and currency symbol were not updated based on the applied culture). Starting from version **27.1.\***, the dialog now displays formats according to the applied culture. You can select a culture-based number format or enter your own format using the culture-specific decimal separator, group separator, and currency symbol. After that, click **Apply** to apply the culture-specific custom format to the selected cells. -The spreadsheet allows customization of formats in the custom format dialog using the `configureLocalizedFormat` method. In this method, you need to pass a collection containing the default number format IDs and their corresponding format codes as arguments. Based on this collection, the custom format dialog will display the customized formats. You can refer to the [default number format IDs](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.numberingformat?view=openxml-2.8.1) from the Excel built-in number format reference. +The Spreadsheet supports customizing formats in the dialog using the `configureLocalizedFormat` method. In this method, you pass a collection of default number format IDs along with their corresponding format codes. The dialog will then display the customized formats. You can refer to the [default number format IDs](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.numberingformat?view=openxml-2.8.1) from the Excel built-in number format reference. Compared to Excel, the date, time, currency, and accounting formats vary across different cultures. For example, when an Excel file with the date format `'m/d/yyyy'` is imported in the `en-US` culture, the spreadsheet displays the date in that format. However, when the same file is imported in the German culture, the date format changes to `'dd.MM.yyyy'`, which is the default for that region. The default number format ID for the date is 14. To customize the date format based on the culture, you should map the default number format ID to the appropriate culture-specific format code, like this: `{ id: 14, code: 'dd.MM.yyyy' }` in the `configureLocalizedFormat` method. @@ -169,12 +169,14 @@ The following code example demonstrates how to configure culture-based formats f {% previewsample "/document-processing/code-snippet/spreadsheet/react/globalization-cs1" %} -## Text and cell formatting +## Cell Styling and Text Formatting -Text and cell formatting enhances the look and feel of your cell. It helps to highlight a particular cell or range of cells from a whole workbook. You can apply formats like font size, font family, font color, text alignment, border etc. to a cell or range of cells. Use the [`allowCellFormatting`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowcellformatting) property to enable or disable the text and cell formatting option in Spreadsheet. You can set the formats in following ways, -* Using the `style` property, you can set formats to each cell at initial load. -* Using the [`cellFormat`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#cellformat) method, you can set formats to a cell or range of cells. -* You can also apply by clicking the desired format option from the ribbon toolbar. +Text and cell formatting improves the appearance of your spreadsheet and helps highlight specific cells or ranges. You can apply formats such as font size, font family, font color, text alignment, borders, and more. Use the [`allowCellFormatting`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowcellformatting) property to enable or disable text and cell formatting in the Spreadsheet. + +You can set formats in the following ways: +* Use the [style](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cell#style) property to apply formats to each cell during the initial load. +* Use the [`cellFormat`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#cellformat) method to apply formats to a cell or range of cells dynamically. +* Apply formatting directly by clicking the desired format option from the ribbon toolbar. ### Fonts @@ -182,15 +184,15 @@ Various font formats supported in the spreadsheet are font-family, font-size, bo ### Text Alignment -You can align text in a cell either vertically or horizontally using the `textAlign` and `verticalAlign` property. +You can align text in a cell either vertically or horizontally using the [`textAlign`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/textalign) and [verticalAlign](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/verticalalign) property. ### Indents -To enhance the appearance of text in a cell, you can change the indentation of a cell content using `textIndent` property. +To enhance the appearance of text in a cell, you can change the indentation of a cell content using [textIndent](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cellstylemodel#textindent) property. ### Fill color -To highlight cell or range of cells from whole workbook you can apply background color for a cell using `backgroundColor` property. +To highlight cell or range of cells from whole workbook you can apply background color for a cell using [backgroundColor](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cellstylemodel#backgroundcolor) property. ### Borders @@ -198,32 +200,32 @@ You can add borders around a cell or range of cells to define a section of works | Types | Actions | |-------|---------| -| Top Border | Specifies the top border of a cell or range of cells.| -| Left Border | Specifies the left border of a cell or range of cells.| -| Right Border | Specifies the right border of a cell or range of cells.| -| Bottom Border | Specifies the bottom border of a cell or range of cells.| -| No Border | Used to clear the border from a cell or range of cells.| -| All Border | Specifies all border of a cell or range of cells.| -| Horizontal Border | Specifies the top and bottom border of a cell or range of cells.| -| Vertical Border | Specifies the left and right border of a cell or range of cells.| -| Outside Border | Specifies the outside border of a range of cells.| -| Inside Border | Specifies the inside border of a range of cells.| +| **Top Border** | Specifies the top border of a cell or range of cells.| +| **Left Border** | Specifies the left border of a cell or range of cells.| +| **Right Border** | Specifies the right border of a cell or range of cells.| +| **Bottom Border** | Specifies the bottom border of a cell or range of cells.| +| **No Border** | Used to clear the border from a cell or range of cells.| +| **All Border** | Specifies all border of a cell or range of cells.| +| **Horizontal Border** | Specifies the top and bottom border of a cell or range of cells.| +| **Vertical Border** | Specifies the left and right border of a cell or range of cells.| +| **Outside Border** | Specifies the outside border of a range of cells.| +| **Inside Border** | Specifies the inside border of a range of cells.| You can also change the color, size, and style of the border. The size and style supported in the spreadsheet are, | Types | Actions | |-------|---------| -| Thin | Specifies the `1px` border size (default).| -| Medium | Specifies the `2px` border size.| -| Thick | Specifies the `3px` border size.| -| Solid | Used to create the `solid` border (default).| -| Dashed | Used to create the `dashed` border.| -| Dotted | Used to create the `dotted` border.| -| Double | Used to create the `double` border.| +| **Thin** | Specifies the `1px` border size (default).| +| **Medium** | Specifies the `2px` border size.| +| **Thick** | Specifies the `3px` border size.| +| **Solid** | Used to create the `solid` border (default).| +| **Dashed** | Used to create the `dashed` border.| +| **Dotted** | Used to create the `dotted` border.| +| **Double** | Used to create the `double` border.| Borders can be applied in the following ways, * Using the `border`, `borderLeft`, `borderRight`, `borderBottom` properties, you can set the desired border to each cell at initial load. -* Using the `setBorder` method, you can set various border options to a cell or range of cells. +* Using the [setBorder](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#setborder) method, you can set various border options to a cell or range of cells. * Selecting the border options from ribbon toolbar. The following code example shows the style formatting in text and cells of the spreadsheet. @@ -274,7 +276,7 @@ Highlight cells rules option in the conditional formatting enables you to highli The following options can be given for the highlight cells rules as type, ->* 'GreaterThan', 'LessThan', 'Between', 'EqualTo', 'ContainsText', 'DateOccur', 'Duplicate', 'Unique'. +>* `GreaterThan`, `LessThan`, `Between`, `EqualTo`, `ContainsText`, `DateOccur`, `Duplicate`, `Unique`. The following preset colors can be used for formatting styles, @@ -290,7 +292,7 @@ Top bottom rules option in the conditional formatting allows you to apply format The following options can be given for the top bottom rules as type, ->* 'Top10Items', 'Bottom10Items', 'Top10Percentage', 'Bottom10Percentage', 'BelowAverage', 'AboveAverage'. +>* `Top10Items`, `Bottom10Items`, `Top10Percentage`, `Bottom10Percentage`, `BelowAverage`, `AboveAverage`. ### Data Bars @@ -298,7 +300,7 @@ You can apply data bars to represent the data graphically inside a cell. The lon The following options can be given for the data bars as type, ->* 'BlueDataBar', 'GreenDataBar', 'RedDataBar', 'OrangeDataBar', 'LightBlueDataBar', 'PurpleDataBar'. +>* `BlueDataBar`, `GreenDataBar`, `RedDataBar`, `OrangeDataBar`, `LightBlueDataBar`, `PurpleDataBar`. ### Color Scales @@ -306,7 +308,7 @@ Using color scales, you can format your cells with two or three colors, where di The following options can be given for the color scales as type, ->* 'GYRColorScale', 'RYGColorScale', 'GWRColorScale', 'RWGColorScale', 'BWRColorScale', 'RWBColorScale', 'WRColorScale', 'RWColorScale', 'GWColorScale', 'WGColorScale', 'GYColorScale', 'YGColorScale'. +>* `GYRColorScale`, `RYGColorScale`, `GWRColorScale`, `RWGColorScale`, `BWRColorScale`, `RWBColorScale`, `WRColorScale`, `RWColorScale`, `GWColorScale`, `WGColorScale`, `GYColorScale`, `YGColorScale`. ### Icon Sets @@ -314,7 +316,7 @@ Icon sets will help you to visually represent your data with icons. Every icon r The following options can be given for the icon sets as type, ->* 'ThreeArrows', 'ThreeArrowsGray', 'FourArrowsGray', 'FourArrows', 'FiveArrowsGray', 'FiveArrows', 'ThreeTrafficLights1', 'ThreeTrafficLights2', 'ThreeSigns', 'FourTrafficLights', 'FourRedToBlack', 'ThreeSymbols', 'ThreeSymbols2', 'ThreeFlags', 'FourRating', 'FiveQuarters', 'FiveRating', 'ThreeTriangles', 'ThreeStars', 'FiveBoxes'. +>* `ThreeArrows`, `ThreeArrowsGray`, `FourArrowsGray`, `FourArrows`, `FiveArrowsGray`, `FiveArrows`, `ThreeTrafficLights1`, `ThreeTrafficLights2`, `ThreeSigns`, `FourTrafficLights`, `FourRedToBlack`, `ThreeSymbols`, `ThreeSymbols2`, `ThreeFlags`, `FourRating`, `FiveQuarters`, `FiveRating`, `ThreeTriangles`, `ThreeStars`, `FiveBoxes`. ### Custom Format @@ -322,14 +324,14 @@ Using the custom format for conditional formatting you can set cell styles like In the MAY and JUN columns, we have applied conditional formatting custom format. ->* In the Conditional format, custom format supported for Highlight cell rules and Top bottom rules. +>* In the Conditional format, custom format supported for **Highlight cell rules** and **Top bottom rules**. ### Clear Rules You can clear the defined rules by using one of the following ways, -* Using the “Clear Rules” option in the Conditional Formatting button of HOME Tab in the ribbon to clear the rule from selected cells. -* Using the [`clearConditionalFormat()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#clearconditionalformat) method to clear the defined rules. +* Using the `Clear Rules` option in the Conditional Formatting button of HOME Tab in the ribbon to clear the rule from selected cells. +* Using the [`clearConditionalFormat`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#clearconditionalformat) method to clear the defined rules. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/formulas.md b/Document-Processing/Excel/Spreadsheet/React/formulas.md index 414bd6789..7d30bc602 100644 --- a/Document-Processing/Excel/Spreadsheet/React/formulas.md +++ b/Document-Processing/Excel/Spreadsheet/React/formulas.md @@ -9,26 +9,26 @@ documentation: ug # Formulas in React Spreadsheet component -Formulas are used for calculating the data in a worksheet. You can refer the cell reference from same sheet or from different sheets. +Formulas are used to perform calculations on data in a worksheet. You can refer the cell reference from same sheet or from different sheets. ## Usage -You can set formula for a cell in the following ways, +You can set a formula for a cell in the following ways, -* Using the `formula` property from `cell`, you can set the formula or expression to each cell at initial load. +* Using the [formula](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cell#formula) property from `cell`, you can set the formula or expression to each cell at initial load. * Set the formula or expression through data binding. * You can set formula for a cell by [`editing`](./editing). -* Using the [`updateCell`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#updatecell) method, you can set or update the cell formula. +* Using the [`updateCell`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#updatecell) method, you can set or update the cell formula. -## Culture-Based Argument Separator +## Culture-Specific Formula Separators -Previously, although you could import culture-based Excel files into the Spreadsheet component, the formulas wouldn't calculate correctly. This was due to the absence of culture-based argument separators and support for culture-based formatted numeric values as arguments. However, starting from version 25.1.35, you can now import culture-based Excel files into the Spreadsheet component. +In earlier versions, even though culture-based Excel files could be imported into the Spreadsheet component, formulas did not calculate correctly. This happened because culture-based argument separators and support for culture-based formatted numeric values were not available. Starting from version **25.1.35**, you can now import culture-based Excel files into the Spreadsheet component with proper support. -> Before importing culture-based Excel files, ensure that the Spreadsheet component is rendered with the corresponding culture. Additionally, launch the import/export services with the same culture to ensure compatibility. +> Before importing culture-based Excel files, make sure the Spreadsheet component is rendered with the matching culture. Also, start the import/export services with the same culture to ensure compatibility. -When loading spreadsheet data with culture-based formula argument separators using cell data binding, local/remote data, or JSON, ensure to set the [listSeparator](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#listseparator) property value as the culture-based list separator from your end. Additionally, note that when importing an Excel file, the [listSeparator](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#listseparator) property will be updated based on the culture of the launched import/export service. +When loading spreadsheet data with culture-based formula argument separators using cell data binding, local/remote data, or JSON, ensure to set the [listSeparator](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#listseparator) property value as the culture-based list separator from your end. Additionally, note that when importing an Excel file, the [listSeparator](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#listseparator) property will be updated based on the culture of the launched import/export service. -In the example below, the Spreadsheet component is rendered with the `German culture (de)`. Additionally, you can find references on how to set the culture-based argument separator and culture-based formatted numeric value as arguments to the formulas. +In the example below, the Spreadsheet component is rendered with the **German culture[de]**. The example also shows how to set the culture-based argument separator and use culture-based formatted numeric values as arguments in formulas. {% tabs %} {% highlight js tabtitle="App.jsx" %} @@ -52,11 +52,11 @@ In the example below, the Spreadsheet component is rendered with the `German cul ## Create User Defined Functions / Custom Functions -The Spreadsheet includes a number of built-in formulas. For your convenience, a list of supported formulas can be found [here](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/formulas#supported-formulas). +The Spreadsheet includes a set of built-in formulas. For convenience, you can find the list of supported formulas [here](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/formulas#supported-formulas). -You can define and use an unsupported formula, i.e. a user defined/custom formula, in the spreadsheet by using the [addCustomFunction](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#addcustomfunction) function. Meanwhile, remember that you should define a user defined/custom formula whose results should only return a single value. If a user-defined/custom formula returns an array, it will be time-consuming to update adjacent cell values. +You can also define and use formulas that are not supported by default, known as **user defined/custom formulas**, by using the [addCustomFunction](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addcustomfunction) function. Keep in mind that a user defined/custom formula should return only a single value. If the formula returns an array, updating adjacent cell values will take more time and may affect performance. -The following code example shows an unsupported formula in the spreadsheet. +The following code example shows how to use an unsupported formula in the Spreadsheet. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -75,7 +75,7 @@ The following code example shows an unsupported formula in the spreadsheet. {% previewsample "/document-processing/code-snippet/spreadsheet/react/formula-cs1" %} -Second, if you want to directly compute any formula or expression, you can use the [computeExpression](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/#computeexpression) method. This method will work for both built-in and used-defined/custom formula. +To directly compute a formula or expression, use the [computeExpression](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#computeexpression) method. This method will work for both built-in and used-defined/custom formula. The following code example shows how to use `computeExpression` method in the spreadsheet. @@ -96,20 +96,21 @@ The following code example shows how to use `computeExpression` method in the sp {% previewsample "/document-processing/code-snippet/spreadsheet/react/formula-cs2" %} -## Formula bar +## Formula Bar -Formula bar is used to edit or enter cell data in much easier way. By default, the formula bar is enabled in the spreadsheet. Use the [`showFormulaBar`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#showformulabar) property to enable or disable the formula bar. +The formula bar is used to enter or edit cell data more easily. By default, the formula bar is enabled in the spreadsheet. Use the [`showFormulaBar`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#showformulabar) property to enable or disable the formula bar. ## Named Ranges -You can define a meaningful name for a cell range and use it in the formula for calculation. It makes your formula much easier to understand and maintain. You can add named ranges to the Spreadsheet in the following ways, +You can assign a meaningful name to a cell range and then use that name in formulas for calculation. This makes formulas easier to read, understand, and maintain. Named ranges can be added to the Spreadsheet in several ways: -* Using the [`definedNames`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#definednames) collection, you can add multiple named ranges at initial load. -* Use the [`addDefinedName`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#adddefinedname) method to add a named range dynamically. -* You can remove an added named range dynamically using the [`removeDefinedName`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#removedefinedname) method. -* Select the range of cells, and then enter the name for the selected range in the name box. +* Use the [`definedNames`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#definednames) collection to add multiple named ranges during the initial load. +* Use the [`addDefinedName`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#adddefinedname) method to add a named range dynamically at runtime. +* Remove a named range dynamically using the [`removeDefinedName`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#removedefinedname) method. +* Select a range of cells and enter a name for the selected range directly in the **Name Box**. + +The following code example demonstrates how named ranges can be defined and used in formulas within the Spreadsheet. -The following code example shows the usage of named ranges support. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -130,18 +131,20 @@ The following code example shows the usage of named ranges support. ## Calculation Mode -The Spreadsheet provides a `Calculation Mode` feature like the calculation options in online Excel. This feature allows you to control when and how formulas are recalculated in the spreadsheet. The available modes are: +The Spreadsheet provides a **Calculation Mode** feature similar to the calculation options in online Excel. This feature lets you control when and how formulas are recalculated in the spreadsheet. The available modes are: -* `Automatic`: Formulas are recalculated instantly whenever a change occurs in the dependent cells. -* `Manual`: Formulas are recalculated only when triggered explicitly by the user using options like `Calculate Sheet` or `Calculate Workbook`. +* **Automatic**: Formulas recalculate instantly whenever a change is made in dependent cells. +* **Manual**: Formulas recalculate only when explicitly triggered by the user using options like **Calculate Sheet** or **Calculate Workbook**. -You can configure the calculate mode using the [`calculationMode`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#calculationmode) property of the Spreadsheet. These modes offer flexibility to balance real-time updates and performance optimization. +You can configure the calculation mode using the [`calculationMode`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#calculationmode) property of the Spreadsheet. These modes give flexibility to balance real-time updates with performance optimization. ### Automatic Mode -In Automatic Mode, formulas are recalculated instantly whenever a dependent cell is modified. This mode is perfect for scenarios where real-time updates are essential, ensuring that users see the latest results without additional actions. +In **Automatic Mode**, formulas are recalculated immediately whenever a dependent cell is changed. This mode is ideal for situations where real-time updates are important, ensuring that users always see the latest results without needing extra steps. + +For example, if cell `C1` contains the formula `=A1+B1`, any change in `A1` or `B1` will instantly update the value in `C1`. No manual action is required. -For example, consider a spreadsheet where cell `C1` contains the formula `=A1+B1`. When the value in `A1` or `B1` changes, `C1` updates immediately without requiring any user intervention. You can enable this mode by setting the [`calculationMode`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#calculationmode) property to `Automatic`. +You can enable this mode by setting the [`calculationMode`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#calculationmode) property to `Automatic`. The following code example demonstrates how to set the Automatic calculation mode in a Spreadsheet. @@ -164,11 +167,12 @@ The following code example demonstrates how to set the Automatic calculation mod ### Manual Mode -In Manual Mode, formulas are not recalculated automatically when cell values are modified. Instead, recalculations must be triggered explicitly. This mode is ideal for scenarios where performance optimization is a priority, such as working with large datasets or computationally intensive formulas. +In **Manual Mode**, formulas are not recalculated automatically when cell values change. Instead, recalculation must be triggered explicitly. This mode is useful when performance optimization is important, such as working with large datasets or formulas that require heavy computation. -For example, imagine a spreadsheet where cell `C1` contains the formula `=A1+B1`. When the value in `A1` or `B1` changes, the value in `C1` will not update automatically. Instead, the recalculation must be initiated manually using either the `Calculate Sheet` or `Calculate Workbook` option. To manually initiate recalculation, the Spreadsheet provides two options: +For example, if cell `C1` contains the formula `=A1+B1`, changing the values in `A1` or `B1` will not update `C1` automatically. The recalculation must be initiated manually using either the `Calculate Sheet` or `Calculate Workbook` option. -* `Calculate Sheet`: Recalculates formulas for the active sheet only. +The Spreadsheet provides two manual recalculation options: +* `Calculate Sheet`: Recalculates formulas only in the active sheet. * `Calculate Workbook`: Recalculates formulas across all sheets in the workbook. The following code example demonstrates how to set the Manual calculation mode in a Spreadsheet. @@ -192,68 +196,25 @@ The following code example demonstrates how to set the Manual calculation mode i ## Supported Formulas -The following are the list of formulas supported in spreadsheet, +The Spreadsheet component supports a comprehensive set of built-in formulas organized by category. Each formula can be used for calculations, data analysis, text manipulation, date operations, and logical evaluations. + +### Math & Trigonometry | Formula | Description | -|-------|---------| +|---------|-------------| | ABS | Returns the value of a number without its sign. | -| ADDRESS | Returns a cell reference as text, given specified row and column numbers. | -| AND | Returns TRUE if all the arguments are TRUE, otherwise returns FALSE. | -| AVERAGE | Calculates average for the series of numbers and/or cells excluding text. | -| AVERAGEA | Calculates the average for the cells evaluating TRUE as 1, text and FALSE as 0. | -| AVERAGEIF | Clears content of the active cell and enables edit mode. | -| AVERAGEIFS | Calculates average for the cells based on specified conditions. | | CEILING | Rounds a number up to the nearest multiple of a given factor. | -| CHOOSE | Returns a value from list of values, based on index number. | -| CHAR | Returns the character from the specified number. | -| CODE | Returns the numeric code for the first character in a given string. | -| CONCAT | Concatenates a list or a range of text strings. | -| CONCATENATE | Combines two or more strings together. | -| COUNT | Counts the cells that contain numeric values in a range. | -| COUNTA | Counts the cells that contains values in a range. | -| COUNTBLANK | Returns the number of empty cells in a specified range of cells. | -| COUNTIF | Counts the cells based on specified condition. | -| COUNTIFS | Counts the cells based on specified conditions. | -| DATE | Returns the date based on given year, month, and day. | -| DATEVALUE | Converts a date string into date value. | -| DAY | Returns the day from the given date. | -| DAYS | Returns the number of days between two dates. | | DECIMAL | Converts a text representation of a number in a given base into a decimal number. | | DEGREES | Converts radians to degrees. | -| DOLLAR | Converts the number to currency formatted text. | -| EDATE | Returns a date with given number of months before or after the specified date. | -| EOMONTH | Returns the last day of the month that is a specified number of months before or after an initially supplied start date. | | EVEN | Rounds a positive number up and negative number down to the nearest even integer. | -| EXACT | Checks whether a two text strings are exactly same and returns TRUE or FALSE. | | EXP | Returns e raised to the power of the given number. | | FACT | Returns the factorial of a number. | -| FIND | Returns the position of a string within another string, which is case sensitive.| | FLOOR | Rounds a number down to the nearest multiple of a given factor. | -| HLOOKUP | Looks for a value in the top row of the array of values and then returns a value in the same column from a row in the array that you specify. | -| HOUR | Returns the number of hours in a specified time string. | -| IF | Returns value based on the given expression. | -| IFERROR | Returns value if no error found else it will return specified value. | -| IFS | Returns value based on the given multiple expressions. | -| INDEX | Returns a value of the cell in a given range based on row and column number. | | INT | Rounds a number down to the nearest integer. | -| INTERCEPT | Calculates the point of the Y-intercept line via linear regression. | -| ISNUMBER | Returns true when the value parses as a numeric value. | -| LARGE | Returns the `k-th` largest value in a given array. | -| LEN | Returns a number of characters in a given string. | | LN | Returns the natural logarithm of a number. | | LOG | Returns the logarithm of a number to the base that you specify. | -| LOOKUP | Looks for a value in a one-row or one-column range, then returns a value from the same position in a second one-row or one-column range. | -| MATCH | Returns the relative position of a specified value in given range. | -| MAX | Returns the largest number of the given arguments. | -| MEDIAN | Returns the median of the given set of numbers. | -| MINUTE | Returns the number of minutes in a specified time string. | -| MIN | Returns the smallest number of the given arguments. | | MOD | Returns a remainder after a number is divided by divisor. | -| MONTH | Returns the number of months in a specified date string. | -| NOT | Returns the inverse of a given logical expression. | -| NOW | Returns the current date and time. | | ODD | Rounds a positive number up and negative number down to the nearest odd integer. | -| OR | Returns TRUE if any of the arguments are TRUE, otherwise returns FALSE. | | PI | Returns the value of pi. | | POWER | Returns the result of a number raised to power. | | PRODUCT | Multiplies a series of numbers and/or cells. | @@ -263,24 +224,106 @@ The following are the list of formulas supported in spreadsheet, | ROUND | Rounds a number to the specified number of digits. | | ROUNDDOWN | Rounds a number down, toward zero. | | ROUNDUP | Rounds a number up, away from zero. | -| RSQ | Returns the square of the Pearson product moment correlation coefficient based on data points in known_y's and known_x's. | -| SECOND | Returns the number of seconds in a specified time string. | -| SMALL | Returns the `k-th` smallest value in a given array. | -| SLOPE | Returns the slope of the line from linear regression of the data points. | -| SORT | Sorts the contents of a column, range, or array in ascending or descending order. | | SQRT | Returns the square root of a positive number. | -| SUBTOTAL | Returns subtotal for a range using the given function number. | +| TRUNC | Truncates a supplied number to a specified number of decimal places. | + + +### Statistical & Aggregate + +| Formula | Description | +|---------|-------------| +| AVERAGE | Calculates average for the series of numbers and/or cells excluding text. | +| AVERAGEA | Calculates the average for the cells evaluating TRUE as 1, text and FALSE as 0. | +| AVERAGEIF | Calculates the average of cells that meet a specified condition. | +| AVERAGEIFS | Calculates average for cells based on multiple specified conditions. | +| COUNT | Counts the cells that contain numeric values in a range. | +| COUNTA | Counts the cells that contain values in a range. | +| COUNTBLANK | Returns the number of empty cells in a specified range of cells. | +| COUNTIF | Counts the cells based on a specified condition. | +| COUNTIFS | Counts the cells based on multiple specified conditions. | +| GEOMEAN | Returns the geometric mean of a given array or range of positive data. | +| INTERCEPT | Calculates the point of the Y-intercept line via linear regression. | +| LARGE | Returns the `k-th` largest value in a given array. | +| MAX | Returns the largest number of the given arguments. | +| MEDIAN | Returns the median of the given set of numbers. | +| MIN | Returns the smallest number of the given arguments. | +| RSQ | Returns the square of the Pearson product moment correlation coefficient based on data points. | +| SLOPE | Returns the slope of the line from linear regression of the data points. | +| SMALL | Returns the `k-th` smallest value in a given array. | | SUM | Adds a series of numbers and/or cells. | -| SUMIF | Adds the cells based on specified condition. | -| SUMIFS | Adds the cells based on specified conditions. | -| SUMPRODUCT | Returns the sum of the products of the corresponding array in given arrays. | -| T | Checks whether a value is text or not and returns the text. | -| TEXT | Converts the supplied value into text by using the user-specified format. | +| SUMIF | Adds the cells based on a specified condition. | +| SUMIFS | Adds the cells based on multiple specified conditions. | +| SUMPRODUCT | Returns the sum of the products of corresponding arrays in given arrays. | +| SUBTOTAL | Returns subtotal for a range using the given function number. | + + +### Date & Time + +| Formula | Description | +|---------|-------------| +| DATE | Returns the date based on given year, month, and day. | +| DATEVALUE | Converts a date string into date value. | +| DAY | Returns the day from the given date. | +| DAYS | Returns the number of days between two dates. | +| EDATE | Returns a date with given number of months before or after the specified date. | +| EOMONTH | Returns the last day of the month that is a specified number of months before or after a start date. | +| HOUR | Returns the number of hours in a specified time string. | +| MINUTE | Returns the number of minutes in a specified time string. | +| MONTH | Returns the number of months in a specified date string. | +| NOW | Returns the current date and time. | +| SECOND | Returns the number of seconds in a specified time string. | | TIME | Converts hours, minutes, seconds to the time formatted text. | | TODAY | Returns the current date. | -| TRUNC | Truncates a supplied number to a specified number of decimal places. | -| UNIQUE | Returns a unique values from a range or array. | -| VLOOKUP | Looks for a specific value in the first column of a lookup range and returns a corresponding value from a different column within the same row. | +| WEEKDAY | Returns the day of the week for a specified date. | + +### Logical + +| Formula | Description | +|---------|-------------| +| AND | Returns TRUE if all the arguments are TRUE, otherwise returns FALSE. | +| IF | Returns value based on the given expression. | +| IFERROR | Returns value if no error found; else returns specified value. | +| IFS | Returns value based on multiple given expressions. | +| NOT | Returns the inverse of a given logical expression. | +| OR | Returns TRUE if any of the arguments are TRUE, otherwise returns FALSE. | + + +### Lookup & Reference + +| Formula | Description | +|---------|-------------| +| ADDRESS | Returns a cell reference as text, given specified row and column numbers. | +| CHOOSE | Returns a value from list of values, based on index number. | +| HLOOKUP | Looks for a value in the top row of an array and returns a value in the same column from a specified row. | +| INDEX | Returns a value of the cell in a given range based on row and column number. | +| LOOKUP | Looks for a value in a one-row or one-column range, then returns a value from the same position in another range. | +| MATCH | Returns the relative position of a specified value in a given range. | +| SORT | Sorts the contents of a column, range, or array in ascending or descending order. | +| UNIQUE | Returns unique values from a range or array. | +| VLOOKUP | Looks for a value in the first column of a lookup range and returns a corresponding value from a different column. | + +### Text + +| Formula | Description | +|---------|-------------| +| CHAR | Returns the character from the specified number. | +| CODE | Returns the numeric code for the first character in a given string. | +| CONCAT | Concatenates a list or a range of text strings. | +| CONCATENATE | Combines two or more strings together. | +| DOLLAR | Converts the number to currency formatted text. | +| EXACT | Checks whether two text strings are exactly the same and returns TRUE or FALSE. | +| FIND | Returns the position of a string within another string (case sensitive). | +| LEN | Returns the number of characters in a given string. | +| PROPER | Converts text to proper case (first letter capitalized). | +| T | Checks whether a value is text or not and returns the text. | +| TEXT | Converts the supplied value into text by using the user-specified format. | + +### Information + +| Formula | Description | +|---------|-------------| +| ISNUMBER | Returns true when the value parses as a numeric value; otherwise returns false. | + ## Formula Error Dialog @@ -288,15 +331,15 @@ If you enter an invalid formula in a cell, an error dialog with an error message | Error Message | Reason | |-------|---------| -| We found that you typed a formula with an invalid arguments | Occurs when passing an argument even though it wasn't needed. | -| We found that you typed a formula with an empty expression | Occurs when passing an empty expression in the argument. | -| We found that you typed a formula with one or more missing opening or closing parenthesis | Occurs when an open parenthesis or a close parenthesis is missing. | -| We found that you typed a formula which is improper | Occurs when passing a single reference but a range was needed. | -| We found that you typed a formula with a wrong number of arguments | Occurs when the required arguments were not passed. | -| We found that you typed a formula which requires 3 arguments | Occurs when the required 3 arguments were not passed. | -| We found that you typed a formula with a mismatched quotes | Occurs when passing an argument with mismatched quotes. | -| We found that you typed a formula with a circular reference | Occurs when passing a formula with circular cell reference. | -| We found that you typed a formula which is invalid | Except in the cases mentioned above, all other errors will fall into this broad category. | +| `We found that you typed a formula with an invalid arguments` | Occurs when passing an argument even though it wasn't needed. | +| `We found that you typed a formula with an empty expression` | Occurs when passing an empty expression in the argument. | +| `We found that you typed a formula with one or more missing opening or closing parenthesis` | Occurs when an open parenthesis or a close parenthesis is missing. | +| `We found that you typed a formula which is improper` | Occurs when passing a single reference but a range was needed. | +| `We found that you typed a formula with a wrong number of arguments` | Occurs when the required arguments were not passed. | +| `We found that you typed a formula which requires 3 arguments` | Occurs when the required 3 arguments were not passed. | +| `We found that you typed a formula with a mismatched quotes` | Occurs when passing an argument with mismatched quotes. | +| `We found that you typed a formula with a circular reference` | Occurs when passing a formula with circular cell reference. | +| `We found that you typed a formula which is invalid` | Except in the cases mentioned above, all other errors will fall into this broad category. | ![Formula Alert Dialog](./images/formula-alert-dialog.png) diff --git a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md index a03f48d83..c56d6f23a 100644 --- a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md +++ b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md @@ -9,20 +9,22 @@ documentation: ug # Freeze pane in React Spreadsheet component -Freeze Panes helps you to keep particular rows or columns visible when scrolling the sheet content in the spreadsheet. You can specify the number of frozen rows and columns using the [`frozenRows`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#frozenrows) and [`frozenColumns`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#frozencolumns) properties inside the [`Sheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#sheets) property. +**Freeze Panes** helps you keep specific rows or columns visible while scrolling through the sheet content. This makes it easier to work with large spreadsheets without losing track of important headers or labels. -To get start quickly with Freeze Panes in React Spreadsheet, you can check on this video: +You can set the number of frozen rows and columns using the [`frozenRows`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#frozenrows) and [`frozenColumns`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#frozencolumns) properties inside the [`Sheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sheets) property. + +To quickly get started with Freeze Panes in React Spreadsheet, you can check out this video tutorial: {% youtube "https://www.youtube.com/watch?v=TX4P6gFymwo" %} -## Apply freezepanes on UI +## Apply freeze panes on UI **User Interface**: In the active spreadsheet, click the cell where you want to create freeze panes. Freeze panes can be done in any of the following ways: * Select the View tab in the Ribbon toolbar and choose the `Freeze Panes` item. -* Use the [`freezePanes`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#freezepanes) method programmatically. +* Use the [`freezePanes`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#freezepanes) method programmatically. ## FrozenRows @@ -41,12 +43,13 @@ It allows you to keep a certain number of columns visible while scrolling horizo **User Interface**: -In the active spreadsheet, select the cell where you want to create frozen columns. Frozen columns can be done in any one of the following ways: +In the active spreadsheet, you can freeze columns by selecting the cell where you want them to remain visible. Frozen columns can be applied in the following ways: + +* Go to the **View** tab in the Ribbon toolbar and choose the **Freeze Columns** option. +* Set the number of frozen columns using the [`frozenColumns`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/sheet#frozencolumns) property inside the [Sheet](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/sheet) property. -* Select the View tab in the Ribbon toolbar and choose the `Freeze Columns` item. -* You can specify the number of frozen columns using the `frozenColumns` property inside the `Sheet` property. +In this demo, `frozenColumns` is set to **2** and `frozenRows` is set to **2**. As a result, the first two columns on the left and the top two rows remain frozen while scrolling. -In this demo, the frozenColumns is set as ‘2’, and the frozenRows is set as ‘2’. Hence, the two columns on the left and the top two rows are frozen. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -69,7 +72,7 @@ In this demo, the frozenColumns is set as ‘2’, and the frozenRows is set as Here, we have listed out the limitations with Freeze Panes feature. -* Merging the cells between freeze and unfreeze area. +* Merging cells between the freeze and unfreeze areas is not supported. * If images and charts are added inside the freeze area cells, their portion in the unfreeze area will not move when scrolling. ## Note diff --git a/Document-Processing/Excel/Spreadsheet/React/global-local.md b/Document-Processing/Excel/Spreadsheet/React/global-local.md index 26d7cbbfc..e8e2d90bb 100644 --- a/Document-Processing/Excel/Spreadsheet/React/global-local.md +++ b/Document-Processing/Excel/Spreadsheet/React/global-local.md @@ -12,368 +12,368 @@ documentation: ug ## Localization The [`Localization`](https://helpej2.syncfusion.com/react/documentation/common/globalization/localization) library allows you to localize the default text content of the Spreadsheet. The Spreadsheet has static text on some features (cell formatting, Merge, Data validation, etc.) that can be changed to other cultures (Arabic, Deutsch, French, etc.) by defining the -[`locale`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#locale) value and translation object. +[`locale`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#locale) value and translation object. The following list of properties and their values are used in the Spreadsheet. Locale keywords |Text -----|----- -Cut | Cut -Copy | Copy -Paste | Paste -PasteSpecial | Paste Special -All | All -Values | Values -Formats | Formats -Font | Font -FontSize | Font Size -Bold | Bold -Italic | Italic -Underline | Underline -Strikethrough | Strikethrough -TextColor | Text Color -FillColor | Fill Color -HorizontalAlignment | Horizontal Alignment -AlignLeft | Align Left -AlignCenter | Center -AlignRight | Align Right -VerticalAlignment | Vertical Alignment -AlignTop | Align Top -AlignMiddle | Align Middle -AlignBottom | Align Bottom -InsertFunction | Insert Function -Insert | Insert -Delete | Delete -Rename | Rename -Hide | Hide -Unhide | Unhide -NameBox | Name Box -ShowHeaders | Show Headers -HideHeaders | Hide Headers -ShowGridLines | Show Gridlines -HideGridLines | Hide Gridlines -AddSheet | Add Sheet -ListAllSheets | List All Sheets -FullScreen | Full Screen -CollapseToolbar | Collapse Toolbar -ExpandToolbar | Expand Toolbar -CollapseFormulaBar | Collapse Formula Bar -ExpandFormulaBar | Expand Formula Bar -File | File -Home | Home -Formulas | Formulas -View | View -New | New -Open | Open -SaveAs | Save As -ExcelXlsx | Microsoft Excel -ExcelXls | Microsoft Excel 97-2003 -CSV | Comma-separated values -FormulaBar | Formula Bar -Ok | Ok -Close | Close -Cancel | Cancel -Apply | Apply -MoreColors | More Colors -StandardColors | Standard Colors -General | General -Number | Number -Currency | Currency -Accounting | Accounting -ShortDate | Short Date -LongDate | Long Date -Time | Time -Percentage | Percentage -Fraction | Fraction -Scientific | Scientific -Text | Text -NumberFormat | Number Format -MobileFormulaBarPlaceHolder | Enter value or Formula -PasteAlert | You can't paste it here because the copy area and paste area aren't in the same size. Please try pasting in a different range. -DestroyAlert | Are you sure you want to destroy the current workbook without saving and create a new workbook? -SheetRenameInvalidAlert | Sheet name contains invalid character. -SheetRenameEmptyAlert | Sheet name cannot be empty. -SheetRenameAlreadyExistsAlert | Sheet name already exists. Please enter another name. -DeleteSheetAlert | Are you sure you want to delete this sheet? -DeleteSingleLastSheetAlert | A Workbook must contain at least one visible worksheet. -PickACategory | Pick a category -Description | Description -UnsupportedFile | Unsupported File -InvalidUrl | Invalid Url -SUM | Adds a series of numbers and/or cells. -SUMIF | Adds the cells based on the specified condition. -SUMIFS | Adds the cells based on the specified conditions. -ABS | Returns the value of a number without its sign. -RAND | Returns a random number between 0 and 1. -RANDBETWEEN | Returns a random integer based on the specified values. -FLOOR | Rounds a number down to the nearest multiple of a given factor. -CEILING | Rounds a number up to the nearest multiple of a given factor. -PRODUCT | Multiplies a series of numbers and/or cells. -AVERAGE | Calculates average for the series of numbers and/or cells excluding text. -AVERAGEIF | Calculates average for the cells based on the specified criterion. -AVERAGEIFS | Calculates average for the cells based on the specified conditions. -AVERAGEA | Calculates the average for the cells evaluating TRUE as 1 text and FALSE as 0. -COUNT | Counts the cells that contain numeric values in a range. -COUNTIF | Counts the cells based on the specified condition. -COUNTIFS | Counts the cells based on specified conditions. -COUNTA | Counts the cells that contain values in a range. -MIN | Returns the smallest number of the given arguments. -MAX | Returns the largest number of the given arguments. -DATE | Returns the date based on the given year, month, and day. -DAY | Returns the day from the given date. -DAYS | Returns the number of days between two dates. -IF | Returns value based on the given expression. -IFS | Returns value based on the given multiple expressions. -AND | Returns TRUE if all the arguments are TRUE otherwise returns FALSE. -OR | Returns TRUE if any of the arguments are TRUE otherwise returns FALSE. -IFERROR | Returns value if no error found else it will return specified value. -CHOOSE | Returns a value from the list of values based on the index number. -INDEX | Returns the value of the cell in a given range based on row and column number. -FIND | Returns the position of a string within another string which is case sensitive. -CONCATENATE | Combines two or more strings together. -CONCAT | Concatenates a list or a range of text strings. -SUBTOTAL | Returns subtotal for a range using the given function number. -RADIANS | Converts degrees into radians. -MATCH | Returns the relative position of a specified value in the given range. -DefineNameExists | This name already exists try a different name. -CircularReference | When a formula refers to one or more circular references this may result in an incorrect calculation. -ShowRowsWhere | Show rows where | -CustomFilterDatePlaceHolder | Choose a date -CustomFilterPlaceHolder | Enter the value -CustomFilter | Custom Filter -Between | Between -MatchCase | Match Case -DateTimeFilter | DateTime Filters -Undo | Undo -Redo | Redo -DateFilter | Date Filters -TextFilter | Text Filters -NumberFilter | Number Filters -ClearFilter | Clear Filter -NoResult | No Matches Found -FilterFalse | False -FilterTrue | True -Blanks | Blanks -SelectAll | Select All -GreaterThanOrEqual | Greater Than Or Equal -GreaterThan | Greater Than -LessThanOrEqual | Less Than Or Equal -LessThan | Less Than -NotEqual | Not Equal -Equal | Equal -Contains | Contains -EndsWith | Ends With -StartsWith | Starts With -ClearButton | Clear -FilterButton | Filter -CancelButton | Cancel -OKButton | OK -Search | Search -Link | Link -Hyperlink | Hyperlink -EditHyperlink | Edit Hyperlink -OpenHyperlink | Open Hyperlink -RemoveHyperlink | Remove Hyperlink -InsertLink | Insert Link -EditLink | Edit Link -WebPage | WEB PAGE -ThisDocument | THIS DOCUMENT -DisplayText | Display Text -Url | URL -CellReference | Cell Reference -Sheet | Sheet -DefinedNames | Defined Names -EnterTheTextToDisplay | Enter the text to display -EnterTheUrl | Enter the URL -ProtectSheet | Protect Sheet -UnprotectSheet | Unprotect Sheet -SelectCells | Select cells -FormatCells | Format cells -FormatRows | Format rows -Format Columns | Format columns -InsertLinks | Insert links -ProtectContent | Protect the contents of locked cells -ProtectAllowUser | Allow all users of this worksheet to | -EditAlert | The cell you're trying to change is protected. To make a change, unprotect the sheet. -FindReplaceTooltip | Find & Replace -InsertingEmptyValue | Reference value is not valid. -ByRow | By Row -ByColumn | By Column -MatchExactCellElements | Match Exact Cell Contents -EntercellAddress | Enter Cell Address -FindAndReplace | Find and Replace -ReplaceAllEnd | matches replaced with. -FindNextBtn | Find Next -FindPreviousBtn | Find Previous -ReplaceBtn | Replace -ReplaceAllBtn | Replace All -GotoHeader | Go To -GotoSpecialHeader | Go To Special -SearchWithin | Search within -SearchBy | Search by -Reference | Reference -Workbook | Workbook -NoElements | We couldn’t find what you were looking for. -FindWhat | Find what -ReplaceWith | Replace with -EnterValue | Enter Value -DefineNameInValid | The name that you entered is not valid. -FindValue | Find Value -ReplaceValue | Replace Value -DataValidation | Data Validation -CLEARALL | CLEAR ALL -APPLY | APPLY -CellRange | Cell Range -Allow | Allow -Data | Data -Minimum | Minimum -Maximum | Maximum -IgnoreBlank | Ignore blank -WholeNumber | Whole Number -Decimal | Decimal -Date | Date -TextLength | Text Length -List | List -NotBetween | Not between -EqualTo | Equal to -NotEqualTo | Not equal to -Greaterthan | Greater than -Lessthan | Less than -GreaterThanOrEqaulTo | Greater than or eqaul to -LessThanOrEqualTo | Less than or equal to -InCellDropDown | In-cell-dropdown -Sources | Sources -Value | Value -Retry | Retry -DialogError | The list source must be a reference to a single row or column. -ValidationError | This value doesn't match the data validation restrictions defined for the cell. -HideRow | Hide Row -HideRows | Hide Rows -UnHideRows | UnHide Rows -HideColumn | Hide Column -HideColumns | Hide Columns -UnHideColumns | UnHide Columns -InsertRow | Insert Row -InsertRows | Insert Rows -InsertColumn | Insert Column -InsertColumns | Insert Columns -DeleteRow | Delete Row -DeleteRows | Delete Rows -DeleteColumn | Delete Column -DeleteColumns | Delete Columns -Borders | Borders -TopBorders | Top Borders -LeftBorders | Left Borders -RightBorders | Right Borders -BottomBorders | Bottom Borders -AllBorders | All Borders -HorizontalBorders | Horizontal Borders -VerticalBorders | Vertical Borders -OutsideBorders | Outside Borders -InsideBorders | Inside Borders -NoBorders | No Borders -BorderColor | Border Color -BorderStyle | Border Style -INTERCEPT | Calculates the point of the Y-intercept line via linear regression. -SLOPE | Returns the slope of the line from linear regression of the data points. -FreezePanes | Freeze Panes -FreezeRows | Freeze Rows -FreezeColumns | Freeze Columns -UnfreezePanes | Unfreeze Panes -UnfreezeRows | Unfreeze Rows -UnfreezeColumns | Unfreeze Columns -MergeCells | Merge Cells -MergeAll | Merge All -MergeHorizontally | Merge Horizontally -MergeVertically | Merge Vertically -Unmerge | Unmerge -UnmergeCells | Unmerge Cells -SortAscending | Ascending -SortDescending | Descending -CustomSort | Custom Sort -ClearAllFilter | Clear -ReapplyFilter | Reapply -Clear | Clear -ClearContents | Clear Contents -ClearAll | Clear All -ClearFormats | Clear Formats -ClearHyperlinks | Clear Hyperlinks -Image | Image -AddColumn | Add Column -SortBy | Sort by -ThenBy | Then by -Chart | Chart -Column | Column -Bar | Bar -Area | Area -Pie | Pie -Doughnut | Doughnut -PieAndDoughnut | Pie/Doughnut -Line | Line -Radar | Radar -Scatter | Scatter -ChartDesign | Chart Design -ClusteredColumn | Clustered Column -StackedColumn | Stacked Column -StackedColumn100 | 100% Stacked Column -ClusteredBar | Clustered Bar -StackedBar | Stacked Bar -StackedBar100 | 100% Stacked Bar -StackedArea | Stacked Area -StackedArea100 | 100% Stacked Area -StackedLine | Stacked Line -StackedLine100 | 100% Stacked Line -AddChartElement | Add Chart Element -Axes | Axes -AxisTitle | Axis Title -ChartTitle | Chart Title -DataLabels | Data Labels -Gridlines | Gridlines -Legends | Legends -PrimaryHorizontal | Primary Horizontal -PrimaryVertical | Primary Vertical -None | None -AboveChart | Above Chart -Center | Center -InsideEnd | Inside End -InsideBase | Inside Base -OutsideEnd | OutSide End -PrimaryMajorHorizontal | Primary Major Horizontal -PrimaryMajorVertical | Primary Major Vertical -PrimaryMinorHorizontal | Primary Minor Horizontal -PrimaryMinorVertical | Primary Minor Vertical -Right | Right -Left | Left -Bottom | Bottom -Top | Top -SwitchRowColumn | Switch Row/Column -ChartTheme | Chart Theme -ChartType | Chart Type -Material | Material -Fabric | Fabric -Bootstrap | Bootstrap -HighContrastLight | HighContrastLight -MaterialDark | MaterialDark -FabricDark | FabricDark -HighContrast | HighContrast -BootstrapDark | BootstrapDark -Bootstrap4 | Bootstrap4 -VerticalAxisTitle | Vertical Axis Title -HorizontalAxisTitle | Horizontal Axis Title -EnterTitle | Enter Title -ProtectWorkbook | Protect Workbook -Password | Password (optional) | -unProtectPassword | Password -EnterThePassword | Enter the password -ConfirmPassword | Confirm Password -EnterTheConfirmPassword | Re-enter your password -PasswordAlert | Confirmation password is not identical -UnProtectWorkbook | Unprotect Workbook -UnProtectPasswordAlert | The password you supplied is not correct. -InCorrectPassword | Unable to open the file or worksheet with the given password. -PasswordAlertMsg | Please enter the password -ConfirmPasswordAlertMsg | Please enter the confirm password -IsProtected | is protected +`Cut` | Cut +`Copy` | Copy +`Paste` | Paste +`PasteSpecial` | Paste Special +`All` | All +`Values` | Values +`Formats` | Formats +`Font` | Font +`FontSize` | Font Size +`Bold` | Bold +`Italic` | Italic +`Underline` | Underline +`Strikethrough` | Strikethrough +`TextColor` | Text Color +`FillColor` | Fill Color +`HorizontalAlignment` | Horizontal Alignment +`AlignLeft` | Align Left +`AlignCenter` | Center +`AlignRight` | Align Right +`VerticalAlignment` | Vertical Alignment +`AlignTop` | Align Top +`AlignMiddle` | Align Middle +`AlignBottom` | Align Bottom +`InsertFunction` | Insert Function +`Insert` | Insert +`Delete` | Delete +`Rename` | Rename +`Hide` | Hide +`Unhide` | Unhide +`NameBox` | Name Box +`ShowHeaders` | Show Headers +`HideHeaders` | Hide Headers +`ShowGridLines` | Show Gridlines +`HideGridLines` | Hide Gridlines +`AddSheet` | Add Sheet +`ListAllSheets` | List All Sheets +`FullScreen` | Full Screen +`CollapseToolbar` | Collapse Toolbar +`ExpandToolbar` | Expand Toolbar +`CollapseFormulaBar` | Collapse Formula Bar +`ExpandFormulaBar` | Expand Formula Bar +`File` | File +`Home` | Home +`Formulas` | Formulas +`View` | View +`New` | New +`Open` | Open +`SaveAs` | Save As +`ExcelXlsx` | Microsoft Excel +`ExcelXls` | Microsoft Excel 97-2003 +`CSV` | Comma-separated values +`FormulaBar` | Formula Bar +`Ok` | Ok +`Close` | Close +`Cancel` | Cancel +`Apply` | Apply +`MoreColors` | More Colors +`StandardColors` | Standard Colors +`General` | General +`Number` | Number +`Currency` | Currency +`Accounting` | Accounting +`ShortDate` | Short Date +`LongDate` | Long Date +`Time` | Time +`Percentage` | Percentage +`Fraction` | Fraction +`Scientific` | Scientific +`Text` | Text +`NumberFormat` | Number Format +`MobileFormulaBarPlaceHolder` | Enter value or Formula +`PasteAlert` | You can't paste it here because the copy area and paste area aren't in the same size. Please try pasting in a different range. +`DestroyAlert` | Are you sure you want to destroy the current workbook without saving and create a new workbook? +`SheetRenameInvalidAlert` | Sheet name contains invalid character. +`SheetRenameEmptyAlert` | Sheet name cannot be empty. +`SheetRenameAlreadyExistsAlert` | Sheet name already exists. Please enter another name. +`DeleteSheetAlert` | Are you sure you want to delete this sheet? +`DeleteSingleLastSheetAlert` | A Workbook must contain at least one visible worksheet. +`PickACategory` | Pick a category +`Description` | Description +`UnsupportedFile` | Unsupported File +`InvalidUrl` | Invalid Url +`SUM` | Adds a series of numbers and/or cells. +`SUMIF` | Adds the cells based on the specified condition. +`SUMIFS` | Adds the cells based on the specified conditions. +`ABS` | Returns the value of a number without its sign. +`RAND` | Returns a random number between 0 and 1. +`RANDBETWEEN` | Returns a random integer based on the specified values. +`FLOOR` | Rounds a number down to the nearest multiple of a given factor. +`CEILING` | Rounds a number up to the nearest multiple of a given factor. +`PRODUCT` | Multiplies a series of numbers and/or cells. +`AVERAGE` | Calculates average for the series of numbers and/or cells excluding text. +`AVERAGEIF` | Calculates average for the cells based on the specified criterion. +`AVERAGEIFS` | Calculates average for the cells based on the specified conditions. +`AVERAGEA` | Calculates the average for the cells evaluating TRUE as 1 text and FALSE as 0. +`COUNT` | Counts the cells that contain numeric values in a range. +`COUNTIF` | Counts the cells based on the specified condition. +`COUNTIFS` | Counts the cells based on specified conditions. +`COUNTA` | Counts the cells that contain values in a range. +`MIN` | Returns the smallest number of the given arguments. +`MAX` | Returns the largest number of the given arguments. +`DATE` | Returns the date based on the given year, month, and day. +`DAY` | Returns the day from the given date. +`DAYS` | Returns the number of days between two dates. +`IF` | Returns value based on the given expression. +`IFS` | Returns value based on the given multiple expressions. +`AND` | Returns TRUE if all the arguments are TRUE otherwise returns FALSE. +`OR` | Returns TRUE if any of the arguments are TRUE otherwise returns FALSE. +`IFERROR` | Returns value if no error found else it will return specified value. +`CHOOSE` | Returns a value from the list of values based on the index number. +`INDEX` | Returns the value of the cell in a given range based on row and column number. +`FIND` | Returns the position of a string within another string which is case sensitive. +`CONCATENATE` | Combines two or more strings together. +`CONCAT` | Concatenates a list or a range of text strings. +`SUBTOTAL` | Returns subtotal for a range using the given function number. +`RADIANS` | Converts degrees into radians. +`MATCH` | Returns the relative position of a specified value in the given range. +`DefineNameExists` | This name already exists try a different name. +`CircularReference` | When a formula refers to one or more circular references this may result in an incorrect calculation. +`ShowRowsWhere` | Show rows where | +`CustomFilterDatePlaceHolder` | Choose a date +`CustomFilterPlaceHolder` | Enter the value +`CustomFilter` | Custom Filter +`Between` | Between +`MatchCase` | Match Case +`DateTimeFilter` | DateTime Filters +`Undo` | Undo +`Redo` | Redo +`DateFilter` | Date Filters +`TextFilter` | Text Filters +`NumberFilter` | Number Filters +`ClearFilter` | Clear Filter +`NoResult` | No Matches Found +`FilterFalse` | False +`FilterTrue` | True +`Blanks` | Blanks +`SelectAll` | Select All +`GreaterThanOrEqual` | Greater Than Or Equal +`GreaterThan` | Greater Than +`LessThanOrEqual` | Less Than Or Equal +`LessThan` | Less Than +`NotEqual` | Not Equal +`Equal` | Equal +`Contains` | Contains +`EndsWith` | Ends With +`StartsWith` | Starts With +`ClearButton` | Clear +`FilterButton` | Filter +`CancelButton` | Cancel +`OKButton` | OK +`Search` | Search +`Link` | Link +`Hyperlink` | Hyperlink +`EditHyperlink` | Edit Hyperlink +`OpenHyperlink` | Open Hyperlink +`RemoveHyperlink` | Remove Hyperlink +`InsertLink` | Insert Link +`EditLink` | Edit Link +`WebPage` | WEB PAGE +`ThisDocument` | THIS DOCUMENT +`DisplayText` | Display Text +`Url` | URL +`CellReference` | Cell Reference +`Sheet` | Sheet +`DefinedNames` | Defined Names +`EnterTheTextToDisplay` | Enter the text to display +`EnterTheUrl` | Enter the URL +`ProtectSheet` | Protect Sheet +`UnprotectSheet` | Unprotect Sheet +`SelectCells` | Select cells +`FormatCells` | Format cells +`FormatRows` | Format rows +`Format` Columns | Format columns +`InsertLinks` | Insert links +`ProtectContent` | Protect the contents of locked cells +`ProtectAllowUser` | Allow all users of this worksheet to | +`EditAlert` | The cell you're trying to change is protected. To make a change, unprotect the sheet. +`FindReplaceTooltip` | Find & Replace +`InsertingEmptyValue` | Reference value is not valid. +`ByRow` | By Row +`ByColumn` | By Column +`MatchExactCellElements` | Match Exact Cell Contents +`EntercellAddress` | Enter Cell Address +`FindAndReplace` | Find and Replace +`ReplaceAllEnd` | matches replaced with. +`FindNextBtn` | Find Next +`FindPreviousBtn` | Find Previous +`ReplaceBtn` | Replace +`ReplaceAllBtn` | Replace All +`GotoHeader` | Go To +`GotoSpecialHeader` | Go To Special +`SearchWithin` | Search within +`SearchBy` | Search by +`Reference` | Reference +`Workbook` | Workbook +`NoElements` | We couldn’t find what you were looking for. +`FindWhat` | Find what +`ReplaceWith` | Replace with +`EnterValue` | Enter Value +`DefineNameInValid` | The name that you entered is not valid. +`FindValue` | Find Value +`ReplaceValue` | Replace Value +`DataValidation` | Data Validation +`CLEARALL` | CLEAR ALL +`APPLY` | APPLY +`CellRange` | Cell Range +`Allow` | Allow +`Data` | Data +`Minimum` | Minimum +`Maximum` | Maximum +`IgnoreBlank` | Ignore blank +`WholeNumber` | Whole Number +`Decimal` | Decimal +`Date` | Date +`TextLength` | Text Length +`List` | List +`NotBetween` | Not between +`EqualTo` | Equal to +`NotEqualTo` | Not equal to +`Greaterthan` | Greater than +`Lessthan` | Less than +`GreaterThanOrEqaulTo` | Greater than or eqaul to +`LessThanOrEqualTo` | Less than or equal to +`InCellDropDown` | In-cell-dropdown +`Sources` | Sources +`Value` | Value +`Retry` | Retry +`DialogError` | The list source must be a reference to a single row or column. +`ValidationError` | This value doesn't match the data validation restrictions defined for the cell. +`HideRow` | Hide Row +`HideRows` | Hide Rows +`UnHideRows` | UnHide Rows +`HideColumn` | Hide Column +`HideColumns` | Hide Columns +`UnHideColumns` | UnHide Columns +`InsertRow` | Insert Row +`InsertRows` | Insert Rows +`InsertColumn` | Insert Column +`InsertColumns` | Insert Columns +`DeleteRow` | Delete Row +`DeleteRows` | Delete Rows +`DeleteColumn` | Delete Column +`DeleteColumns` | Delete Columns +`Borders` | Borders +`TopBorders` | Top Borders +`LeftBorders` | Left Borders +`RightBorders` | Right Borders +`BottomBorders` | Bottom Borders +`AllBorders` | All Borders +`HorizontalBorders` | Horizontal Borders +`VerticalBorders` | Vertical Borders +`OutsideBorders` | Outside Borders +`InsideBorders` | Inside Borders +`NoBorders` | No Borders +`BorderColor` | Border Color +`BorderStyle` | Border Style +`INTERCEPT` | Calculates the point of the Y-intercept line via linear regression. +`SLOPE` | Returns the slope of the line from linear regression of the data points. +`FreezePanes` | Freeze Panes +`FreezeRows` | Freeze Rows +`FreezeColumns` | Freeze Columns +`UnfreezePanes` | Unfreeze Panes +`UnfreezeRows` | Unfreeze Rows +`UnfreezeColumns` | Unfreeze Columns +`MergeCells` | Merge Cells +`MergeAll` | Merge All +`MergeHorizontally` | Merge Horizontally +`MergeVertically` | Merge Vertically +`Unmerge` | Unmerge +`UnmergeCells` | Unmerge Cells +`SortAscending` | Ascending +`SortDescending` | Descending +`CustomSort` | Custom Sort +`ClearAllFilter` | Clear +`ReapplyFilter` | Reapply +`Clear` | Clear +`ClearContents` | Clear Contents +`ClearAll` | Clear All +`ClearFormats` | Clear Formats +`ClearHyperlinks` | Clear Hyperlinks +`Image` | Image +`AddColumn` | Add Column +`SortBy` | Sort by +`ThenBy` | Then by +`Chart` | Chart +`Column` | Column +`Bar` | Bar +`Area` | Area +`Pie` | Pie +`Doughnut` | Doughnut +`PieAndDoughnut` | Pie/Doughnut +`Line` | Line +`Radar` | Radar +`Scatter` | Scatter +`ChartDesign` | Chart Design +`ClusteredColumn` | Clustered Column +`StackedColumn` | Stacked Column +`StackedColumn100` | 100% Stacked Column +`ClusteredBar` | Clustered Bar +`StackedBar` | Stacked Bar +`StackedBar100` | 100% Stacked Bar +`StackedArea` | Stacked Area +`StackedArea100` | 100% Stacked Area +`StackedLine` | Stacked Line +`StackedLine100` | 100% Stacked Line +`AddChartElement` | Add Chart Element +`Axes` | Axes +`AxisTitle` | Axis Title +`ChartTitle` | Chart Title +`DataLabels` | Data Labels +`Gridlines` | Gridlines +`Legends` | Legends +`PrimaryHorizontal` | Primary Horizontal +`PrimaryVertical` | Primary Vertical +`None` | None +`AboveChart` | Above Chart +`Center` | Center +`InsideEnd` | Inside End +`InsideBase` | Inside Base +`OutsideEnd` | OutSide End +`PrimaryMajorHorizontal` | Primary Major Horizontal +`PrimaryMajorVertical` | Primary Major Vertical +`PrimaryMinorHorizontal` | Primary Minor Horizontal +`PrimaryMinorVertical` | Primary Minor Vertical +`Right` | Right +`Left` | Left +`Bottom` | Bottom +`Top` | Top +`SwitchRowColumn` | Switch Row/Column +`ChartTheme` | Chart Theme +`ChartType` | Chart Type +`Material` | Material +`Fabric` | Fabric +`Bootstrap` | Bootstrap +`HighContrastLight` | HighContrastLight +`MaterialDark` | MaterialDark +`FabricDark` | FabricDark +`HighContrast` | HighContrast +`BootstrapDark` | BootstrapDark +`Bootstrap4` | Bootstrap4 +`VerticalAxisTitle` | Vertical Axis Title +`HorizontalAxisTitle` | Horizontal Axis Title +`EnterTitle` | Enter Title +`ProtectWorkbook` | Protect Workbook +`Password` | Password (optional) | +`unProtectPassword` | Password +`EnterThePassword` | Enter the password +`ConfirmPassword` | Confirm Password +`EnterTheConfirmPassword` | Re-enter your password +`PasswordAlert` | Confirmation password is not identical +`UnProtectWorkbook` | Unprotect Workbook +`UnProtectPasswordAlert` | The password you supplied is not correct. +`InCorrectPassword` | Unable to open the file or worksheet with the given password. +`PasswordAlertMsg` | Please enter the password +`ConfirmPasswordAlertMsg` | Please enter the confirm password +`IsProtected` | is protected ### Loading translations @@ -501,7 +501,7 @@ Internationalization [`sample link`](https://stackblitz.com/edit/react-5rhnwd-uj ## Right to left (RTL) -RTL provides an option to switch the text direction and layout of the Spreadsheet component from right to left. It improves the user experiences and accessibility for users who use right-to-left languages (Arabic, Farsi, Urdu, etc.). To enable RTL Spreadsheet, set the [`enableRtl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#enablertl) to true. +RTL provides an option to switch the text direction and layout of the Spreadsheet component from right to left. It improves the user experiences and accessibility for users who use right-to-left languages (Arabic, Farsi, Urdu, etc.). To enable RTL Spreadsheet, set the [`enableRtl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enablertl) to true. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/illustrations.md b/Document-Processing/Excel/Spreadsheet/React/illustrations.md index 9af8640af..e5d75e469 100644 --- a/Document-Processing/Excel/Spreadsheet/React/illustrations.md +++ b/Document-Processing/Excel/Spreadsheet/React/illustrations.md @@ -9,7 +9,7 @@ documentation: ug # Illustrations in React Spreadsheet component -Illustrations help you to insert an image, shapes, and graphic objects in the Essential® JS 2 spreadsheet. +Illustrations allow you to insert images, shapes, and graphic objects into the Essential® JS 2 Spreadsheet. This feature helps to enhance the visual presentation of your worksheet by embedding graphical elements alongside your data. ## Image @@ -19,12 +19,12 @@ Adding images to a spreadsheet can enhance the visual appeal and help to convey ### Insert Image -You can insert the image by using one of the following ways, +You can insert an image by using one of the following ways: -* Selecting the Insert tab in the Ribbon toolbar, and then choose the Image tab. -* Use the `insertImage()` method programmatically. +* Select the **Insert** tab in the Ribbon toolbar, and then choose the **Image** option. +* Use the `insertImage` method programmatically. -The available parameters in `insertImage()` method are, +The available parameters in the `insertImage` method are, | Parameter | Type | Description | |-----|------|----| @@ -33,21 +33,22 @@ The available parameters in `insertImage()` method are, The available arguments in `ImageModel` are: -* src: Specifies the image source. -* id: Specifies the image element id. -* height: Specifies the height of the image. -* width: Specifies the width of the image. -* top: Specifies the top position of the image. -* left: Specifies the left side of the image. - ->* In a spreadsheet, you can add many types of image files, including IMAGE, JPG, PNG, GIF, and JPEG files. +| Property | Description | +|----------|-------------| +| [src](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#src) | Specifies the image source. | +| [id](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#id) | Specifies the image element id. | +| [height](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#height) | Specifies the height of the image. | +| [width](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#width) | Specifies the width of the image. | +| [top](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#top) | Specifies the top position of the image. | +| [left](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/imagemodel#left) | Specifies the left side of the image. | +>* In a spreadsheet, you can add many types of image files, including IMAGE, JPG, PNG, GIF, and JPEG formats. ### Delete Image -* If you want to delete the image, just select the image, and then press the Delete key. -* Use the `deleteImage()` method programmatically. +* To delete an image, select the image and press the **Delete** key. +* You can also use the `deleteImage` method programmatically. -The available parameters in `deleteImage()` method are, +The available parameters in the `deleteImage` method are: | Parameter | Type | Description | |-----|------|----| @@ -56,17 +57,17 @@ The available parameters in `deleteImage()` method are, ### Image Customization -Image feature allows you to view and insert an image in a spreadsheet, and you can change the height and width of the image by resizing and moving it to another position. +The image feature allows you to view and insert an image in a spreadsheet. You can customize the image by resizing it to change the height and width, and by moving it to another position within the worksheet. #### Height and Width * You can change the height and width of the image by resizing. -* Use the `height` and `width` property in the `insertImage()` method programmatically. +* Use the `height` and `width` property in the `insertImage` method programmatically. #### Top and Left * You can change the position of the image by drag and drop. -* Use the `top` and `left` property in the `insertImage()` method programmatically. +* Use the `top` and `left` property in the `insertImage` method programmatically. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -94,9 +95,9 @@ The following features have some limitations in Image: ## Chart -A chart is a graphical representation of data, that organizes and represents a set of numerical or qualitative data. It mostly displays the selected range of data in terms of `x`-axis and `y`-axis. You can use the [`allowChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowchart) property to enable or disable the chart functionality. +A chart is a graphical representation of data, that organizes and represents a set of numerical or qualitative data. It mostly displays the selected range of data in terms of `x`-axis and `y`-axis. You can use the [`allowChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowchart) property to enable or disable the chart functionality. ->* The default value for the [`allowChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowchart) property is `true`. +>* The default value for the [`allowChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowchart) property is `true`. ### Types of chart @@ -111,12 +112,12 @@ The following types of charts are available in the Spreadsheet. ### Insert Chart -You can insert the chart by using one of the following ways, +You can insert a chart by using one of the following ways, -* Select the chart icon in the Ribbon toolbar under the Insert Tab. -* Use the [`insertChart()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#insertchart) method programmatically. +* Select the chart icon in the Ribbon toolbar under the **Insert** tab. +* Use the [`insertChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#insertchart) method programmatically. -The available parameter in the [`insertChart()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#insertchart) method is, +The available parameter in the [`insertChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#insertchart) method is, | Parameter | Type | Description | |-----|------|----| @@ -124,12 +125,21 @@ The available parameter in the [`insertChart()`](https://ej2.syncfusion.com/reac The available arguments in the `ChartModel` are: -* type: Specifies the type of chart. -* theme: Specifies the theme of a chart. -* isSeriesInRows: Specifies to switch the row or a column. -* range: Specifies the selected range or specified range. -* id: Specifies the chart element id. -* markerSettings: Specifies the marker settings. The marker is used to provide information about the data points in the series and is currently only applicable to the line chart. +| Property | Type | Description | +|----------|------|-------------| +| [id](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#id) | `string` | Specifies the chart element id. | +| [type](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#type) | `ChartType` | Specifies the type of chart. | +| [theme](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#theme) | `ChartTheme` | Specifies the theme of the chart. | +| [range](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#range) | `string` | Specifies the selected or specified data range for the chart. | +| [isSeriesInRows](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#isseriesinrows) | `boolean` | Specifies whether series are organized in rows (true) or columns (false). | +| [title](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#title) | `string` | Specifies the title of the chart. | +| [width](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#width) | `number` | Specifies the width of the chart. | +| [height](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#height) | `number` | Specifies the height of the chart. | +| [dataLabelSettings](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#datalabelsettings) | `DataLabelSettingsModel` | Specifies the data label settings for the series. | +| [markerSettings](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#markersettings) | `MarkerSettingsModel` | Specifies the marker settings for the series (applicable to line charts). | +| [legendSettings](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#legendsettings) | `LegendSettingsModel` | Specifies options for customizing the chart legend. | +| [primaryXAxis](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#primaryxaxis) | `AxisModel` | Specifies options to configure the horizontal axis. | +| [primaryYAxis](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/chartmodel#primaryyaxis) | `AxisModel` | Specifies options to configure the vertical axis. | {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -150,10 +160,10 @@ The available arguments in the `ChartModel` are: ### Delete Chart -* If you want to delete the chart, just select the chart, and then press the Delete key. -* Use the [`deleteChart()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#deletechart) method programmatically. +* To delete a chart, simply select the chart and press the **Delete** key. +* You can also use the [`deleteChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#deletechart) method programmatically. -The available parameter in the [`deleteChart()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#deletechart) method is, +The available parameter in the [`deleteChart`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#deletechart) method is, | Parameter | Type | Description | |-----|------|----| @@ -161,11 +171,13 @@ The available parameter in the [`deleteChart()`](https://ej2.syncfusion.com/reac ### Chart Customization -Chart feature allows you to view and insert a chart in a spreadsheet, and you can change the height and width of the chart by resizing and moving it to another position. +The chart feature allows you to insert and manage charts in a spreadsheet with flexible customization options. You can adjust both the size and position of charts to better fit your worksheet layout: + +* **Resize** – Change the height and width of the chart by dragging its edges or corners. +* **Reposition** – Move the chart to a different location in the worksheet using drag-and-drop. -* You can change the height and width of the chart by resizing. +These customization options make it easy to organize charts alongside your data for clearer visualization and presentation. -* You can change the position of the chart by drag and drop. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -185,8 +197,14 @@ Chart feature allows you to view and insert a chart in a spreadsheet, and you ca {% previewsample "/document-processing/code-snippet/spreadsheet/react/chart-cs1" %} #### Customization of line chart markers +You can customize line chart markers to improve their appearance and readability. By using the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#actionbegin) event, you can modify properties such as: + +* **Shape** – Change the marker shape (e.g., circle, square, diamond). +* **Size** – Adjust the marker size for better visibility. +* **Fill Color** – Apply a custom fill color to highlight data points. +* **Border** – Customize the border style and color for distinction. -Using the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#actionbegin) event, you can change the shape, size, fill color, and border of the line chart marker. In the following example, you can see the modified marker appearance, such as shape and size, while creating the line chart with UI interaction. +In the following example, the marker appearance (shape and size) is modified while creating the line chart through UI interaction, demonstrating how flexible customization can enhance chart visualization. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/link.md b/Document-Processing/Excel/Spreadsheet/React/link.md index cc96406e7..636bff144 100644 --- a/Document-Processing/Excel/Spreadsheet/React/link.md +++ b/Document-Processing/Excel/Spreadsheet/React/link.md @@ -6,10 +6,9 @@ control: Link platform: document-processing documentation: ug --- - # Link in React Spreadsheet component -Hyperlink is used to navigate to web links or cell reference within the sheet or to other sheets in Spreadsheet. You can use the [`allowHyperlink`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowhyperlink) property to enable or disable hyperlink functionality. +Hyperlink is used to navigate to web links or cell reference within the sheet or to other sheets in Spreadsheet. You can use the [`allowHyperlink`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowhyperlink) property to enable or disable hyperlink functionality. > * The default value for `allowHyperlink` property is `true`. @@ -20,32 +19,37 @@ You can insert a hyperlink in a worksheet cell for quick access to related infor **User Interface**: In the active spreadsheet, click the cell where you want to create a hyperlink. Insert hyperlink can be done by any of the following ways: -* Select the INSERT tab in the Ribbon toolbar and choose the `Link` item. -* Right-click the cell and then click Hyperlink item in the context menu, or you can press Ctrl+K. -* Use the [`addHyperlink()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#addhyperlink) method programmatically. +* Select the **INSERT** tab in the Ribbon toolbar and choose the `Link` item. +* Right-click the cell and then click Hyperlink item in the context menu, or you can press `Ctrl + K`. +* Use the [`addHyperlink`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addhyperlink) method programmatically. ## Edit Hyperlink -You can change an existing hyperlink in your workbook by changing its destination or the text that is used to represent it. +You can update an existing hyperlink in your workbook by changing either: + +* **Destination Link** – Modify the link target (web address, cell reference, or sheet). +* **Display Text** – Change the text shown in the cell that represents the hyperlink. + **User Interface**: In the active spreadsheet, Select the cell that contains the hyperlink that you want to change. Editing the hyperlink while opening the dialog can be done by any one of the following ways: -* Select the INSERT tab in the Ribbon toolbar and choose the `Link` item. +* Select the **INSERT** tab in the Ribbon toolbar and choose the `Link` item. * Right-click the cell and then click Edit Hyperlink item in the context menu, or you can press Ctrl+K. In the Edit Link dialog box, make the changes that you want, and click UPDATE. ## Remove Hyperlink -Performing this operation remove a single hyperlink without losing the display text. +You can remove a hyperlink from a cell without losing the display text. +This operation clears only the link itself, leaving the text in the cell unchanged. **User Interface**: In the active spreadsheet, click the cell where you want to remove a hyperlink. remove hyperlink can be done by any of the following ways: * Right-click the cell and then click Remove Hyperlink item in the context menu. -* Use the [`removeHyperlink()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#removehyperlink) method programmatically. +* Use the [`removeHyperlink`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#removehyperlink) method programmatically. ## How to change target attribute diff --git a/Document-Processing/Excel/Spreadsheet/React/notes.md b/Document-Processing/Excel/Spreadsheet/React/notes.md index 333ea55f9..684864fe2 100644 --- a/Document-Processing/Excel/Spreadsheet/React/notes.md +++ b/Document-Processing/Excel/Spreadsheet/React/notes.md @@ -12,7 +12,8 @@ documentation: ug The **Notes** feature is used to insert comments, provide feedback, suggest changes, or leave remarks on specific cells while reviewing documents in the Spreadsheet. You can enable or disable the notes functionality using the [enableNotes](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#enablenotes) property, which defaults to **true**. -When opening the Excel document with notes in the Spreadsheet, they will be displayed in the control. The cells containing notes will be indicated with a red colored triangle at the top-right corner. Hovering the mouse over these cells will display the content of the notes. +* When opening an Excel document with notes, they are displayed in the Spreadsheet control. +* Cells containing notes are marked with a small red triangle in the top-right corner. Hovering over these cells shows the note content. ![Adding, editing, and deleting a note in Spreadsheet](./images/spreadsheet_add_edit_delete_note.gif) @@ -64,31 +65,28 @@ You can remove notes from cells using the following ways: The note will be removed from the cell, and the red triangle indicator will be removed. -## Navigating between notes +## Navigating Between Notes The Syncfusion Spreadsheet provides intuitive navigation to quickly move between cells containing notes in your worksheet. These options are accessible through the **Notes** dropdown in the **Review** tab. ![Navigating between notes in Spreadsheet](./images/spreadsheet_next_previous_note.gif) ### Previous Note - To navigate to the previous note: - -* In the **Review** tab, open the **Notes** dropdown and select **Previous Note**. -* The Spreadsheet will automatically select the previous note in the current worksheet, searching leftward and then upward. -* If no prior note exists in the sheet, the search continues to the previous worksheet in order. -* If the workbook contains no notes, the selection remains on the current cell. +* Go to the **Review** tab, open the **Notes** dropdown, and select **Previous Note**. +* The Spreadsheet will highlight the previous note in the current worksheet, searching leftward and then upward. +* If no earlier note exists in the sheet, the search continues in the previous worksheet. +* If the workbook has no notes, the selection stays on the current cell. ### Next Note - To navigate to the next note: +* Go to the **Review** tab, open the **Notes** dropdown, and select **Next Note**. +* The Spreadsheet will highlight the next note in the current worksheet, searching rightward and then downward. +* If no later note exists in the sheet, the search continues in the next worksheet. +* If the workbook has no notes, the selection stays on the current cell. -* In the **Review** tab, open the **Notes** dropdown and select **Next Note**. -* The Spreadsheet will automatically select the next note in the current worksheet, searching rightward and then downward. -* If no subsequent note exists in the sheet, the search continues to the next worksheet in order. -* If the workbook contains no notes, the selection remains on the current cell. - -This functionality streamlines the process of reviewing notes across worksheets, ensuring efficient traversal and discovery. +This navigation feature streamlines reviewing by letting you jump directly between notes across worksheets. +It ensures efficient traversal, so you don’t miss any feedback or comments while working through your document. ## Show/Hide Note @@ -122,15 +120,28 @@ This functionality enhances workflow efficiency by providing flexible control ov ![Show/Hide notes in Spreadsheet](./images/spreadsheet_show_hide_note.gif) -## Saving the document with notes +## Saving the Document with Notes -The Spreadsheet data, including notes, can be saved and exported as an Excel document by selecting **File > Save As** in the ribbon menu. Exporting worksheets with notes is supported in Excel file formats such as Microsoft Excel (.xlsx) and Microsoft Excel 97-2003 (.xls). +You can save and export Spreadsheet data along with notes into an Excel document. +To do this, go to **File > Save As** in the ribbon menu. -> When exporting the Spreadsheet to file formats such as Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf), the notes will not be available. +Notes are preserved when exporting to: +* **Microsoft Excel (.xlsx)** +* **Microsoft Excel 97–2003 (.xls)** + +Notes are **not** included when exporting to: +* **Comma Separated Values (.csv)** +* **Excel Macro-Enabled Workbook (.xlsm)** +* **Excel Binary Workbook (.xlsb)** +* **PDF Document (.pdf)** ## Disabling notes -To disable the note functionality, you need to set the [enableNotes](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#enablenotes) property to **false**. After disabling, the notes in the document will not be shown when opened in the Spreadsheet. The **"Add Note"** option will not be shown in the context menu. The keyboard shortcuts for the note functionality will not work. +To disable the note functionality, you need to set the [enableNotes](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#enablenotes) property to **false**. + +* Notes in the document will not be displayed when opened in the Spreadsheet when `enableNotes` set to `false`. +* The **Add Note** option will be removed from the context menu. +* Keyboard shortcuts related to notes will no longer work. ![Spreadsheet with notes feature disabled](./images/spreadsheet_notes_disable.png) @@ -147,9 +158,14 @@ In the below example, the note functionality is disabled in the Spreadsheet. {% previewsample "/document-processing/code-snippet/spreadsheet/react/note-cs2" %} -## Integrating notes during initial loading and using cell data binding +## Integrating Notes During Initial Loading and Using Cell Data Binding + +You can add notes to cells initially when the Spreadsheet loads by using **cell data binding**. +This is done through the `notes` property in the cell settings. -The notes can be added initially when the Spreadsheet loads using cell data binding. You need to use the `notes` property in the cell settings to add notes to the Spreadsheet. +* Define the `notes` property inside the cell configuration. +* When the Spreadsheet initializes, the notes will automatically appear in the specified cells. +* Each cell can have its own note content bound through the model. In the below example, you can navigate between notes using **Previous Note** and **Next Note** options, toggle individual note visibility with **Show/Hide Note**, display all notes at once using **Show All Notes** and see how notes are added using the `updateCell` method in the `created` event. diff --git a/Document-Processing/Excel/Spreadsheet/React/open-excel-files.md b/Document-Processing/Excel/Spreadsheet/React/open-excel-files.md index d07bb6430..6447ebd03 100644 --- a/Document-Processing/Excel/Spreadsheet/React/open-excel-files.md +++ b/Document-Processing/Excel/Spreadsheet/React/open-excel-files.md @@ -9,13 +9,27 @@ documentation: ug # Open Excel Files in Syncfusion React Spreadsheet -The React Spreadsheet component uses a server‑assisted workflow to import Excel files accurately and efficiently. When a user uploads an Excel file, the component sends the file to the server for parsing, ensuring smooth performance because the heavy processing workload is handled on the server side. +The React Spreadsheet component uses a **server-assisted workflow** to import Excel files accurately and efficiently. +When a user uploads an Excel file, the component sends the file to the server for parsing, ensuring smooth performance since the heavy processing is handled server-side. -On the server, the [`Syncfusion.EJ2.Spreadsheet library`](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core) built on top of [`Syncfusion XlsIO`](https://help.syncfusion.com/document-processing/excel/excel-library/net/overview), reads the Excel file and extracts all relevant details, including data, styles, formulas, formatting, and sheet structure. The server then converts this information into a Spreadsheet‑compatible JSON workbook. +### Server Processing +On the server: +* The [`Syncfusion.EJ2.Spreadsheet.AspNet.Core`](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core) library, built on top of [`Syncfusion XlsIO`](https://help.syncfusion.com/document-processing/excel/excel-library/net/overview), reads the Excel file. +* It extracts data, styles, formulas, formatting, and sheet structure. +* The server converts this information into a **Spreadsheet-compatible JSON workbook**. -Once processing is complete, the JSON workbook is returned to the client, where the React Spreadsheet component renders it in the browser. This workflow preserves the original Excel layout and ensures the imported content appears with full fidelity. +### Client Rendering +Once processing is complete: +* The JSON workbook is returned to the client. +* The React Spreadsheet component renders it in the browser. +* This workflow preserves the original Excel layout and ensures full fidelity of imported content. -To enable opening Excel files, set the [`allowOpen`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowopen) property to **true** and specify the service url using the [`openUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#openurl) property. The control will send the uploaded file to this endpoint, where it is processed and returned as JSON for the Spreadsheet to render. +### Enabling Open Functionality + +To enable opening Excel files: +* Set the [`allowOpen`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowopen) property to `true`. +* Specify the service endpoint using the [`openUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#openurl) property. +* The control sends the uploaded file to this endpoint, where it is processed and returned as JSON for rendering. For a quick walkthrough on how the open functionality works, refer to the following video: {% youtube "https://www.youtube.com/watch?v=MpwiXmL1Z_o" %} @@ -238,13 +252,30 @@ fetch('https://localhost:{{port_number}}/Home/Open') ### Open Excel files with AWS Lambda -Before proceeding with the opening process, you should deploy the spreadsheet open/save web API service in AWS Lambda. To host the open/save web service in the AWS Lambda environment, please refer to the following KB documentation. - +To open Excel files using AWS Lambda, you first need to deploy the **spreadsheet open/save web API service** in AWS Lambda. +For detailed steps, refer to this KB article: [How to deploy a spreadsheet open and save web API service to AWS Lambda](https://support.syncfusion.com/kb/article/17184/how-to-deploy-a-spreadsheet-open-and-save-web-api-service-to-aws-lambda) -After deployment, you will get the AWS service URL for the open and save actions. Before opening the Excel file with this hosted open URL, you need to prevent the default file opening process to avoid getting a corrupted file on the open service end. The spreadsheet component appends the file to the `formData` and sends it to the open service, which causes the file to get corrupted. To prevent this, set the `args.cancel` value to `true` in the [`beforeOpen`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#beforeopen) event. After that, you will get the selected file in the `beforeOpen` event argument. Then, convert this file into a base64 string and send it to the open service URL using a fetch request. +**Deploy the service** + After deployment, you’ll receive an AWS service URL for both open and save actions. + +**Prevent default opening** + By default, the Spreadsheet component appends the file to `formData` and sends it to the open service, which can corrupt the file. + To avoid this, set `args.cancel = true` in the [`beforeOpen`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#beforeopen) event. + +**Handle the file on client side** + * Capture the selected file in the [`beforeOpen`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#beforeopen) event argument. + * Convert the file into a **base64 string**. + * Send this base64 string to the AWS open service URL using a `fetch` request. -On the open service end, convert the base64 string back to a file and pass it as an argument to the workbook `Open` method. The open service will process the file and return the spreadsheet data in JSON format. You will then receive this JSON data in the fetch success callback. Finally, use the [openFromJson](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#openfromjson) method to load this JSON data into the spreadsheet component. +**Process the file on server side** + * Convert the base64 string back into a file. + * Pass it to the workbook `Open` method. + * The service processes the file and returns the spreadsheet data in **JSON format**. + +**Render on client side** + * Receive the JSON data in the fetch success callback. + * Use the [`openFromJson`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#openfromjson) method to load the JSON data into the Spreadsheet component. The following code example shows how to open an Excel file using a hosted web service in AWS Lambda, as mentioned above. @@ -428,13 +459,33 @@ public IActionResult Open(IFormCollection openRequest) } ``` -### Open large Excel files with chunk response processing - -When opening large Excel files with many features and data, the server response can become very large. This might cause memory issues or connection problems during data transmission. The `Chunk Response Processing` feature solves this by dividing the server response into smaller parts, called chunks, and sending them to the client in parallel. The client receives these chunks and combines them to load the Excel data smoothly into the spreadsheet. - -You can enable this feature by setting the [`chunkSize`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/opensettings#chunksize) property in the [`openSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#opensettings) object. Set the [`chunkSize`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/opensettings#chunksize) to a value greater than 0 (in bytes). The [`chunkSize`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/opensettings#chunksize) defines how large each chunk will be. Make sure your server supports chunked responses to use this feature effectively. - -> This feature reduces memory usage on both the server and client, ensuring that resources are managed efficiently during data transmission. By sending smaller parts of data, it prevents connection issues that could occur with large payloads, making the transmission process more reliable. Additionally, it allows large Excel files to be loaded smoothly into the spreadsheet, providing a seamless user experience even with extensive data. +### Open Large Excel Files with Chunk Response Processing + +When opening very large Excel files, the server response can become huge, leading to memory issues or connection problems. +The `Chunk Response Processing` feature solves this by splitting the server response into smaller parts (chunks) and sending them to the client in parallel. +The client then combines these chunks to load the Excel data smoothly. + +#### How It Works +1. **Server Side** + * Breaks the response into smaller chunks. + * Sends chunks in parallel to the client. + +2. **Client Side** + * Receives chunks one by one. + * Combines them to reconstruct the full Excel workbook. + * Loads the data into the Spreadsheet without performance issues. + +#### Enabling Chunk Response +* Configure the [`openSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#opensettings) object. +* Set the [`chunkSize`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/opensettings#chunksize) property to a value greater than `0` (in bytes). +* The `chunkSize` defines how large each chunk will be. +* Ensure your server supports chunked responses for this feature to work properly. + +#### Benefits +* Reduces memory usage on both server and client. +* Prevents connection issues caused by large payloads. +* Makes transmission more reliable. +* Allows large Excel files to load smoothly, ensuring a seamless user experience. The following code example demonstrates the client-side and server-side configuration required for handling chunk-based responses when opening an Excel file. diff --git a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md index 3abf9eb81..4d3b84075 100644 --- a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md +++ b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md @@ -9,11 +9,15 @@ documentation: ug # Protect sheet in React Spreadsheet component -Sheet protection helps you to prevent the users from modifying the data in the spreadsheet. +Sheet protection allows you to prevent users from modifying data in the Spreadsheet. +When a sheet is protected, editing actions such as typing, formatting, or deleting content are restricted, ensuring that important data remains secure. + +You can enable protection by using the [`protectSheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#protectsheet) method. +This locks the sheet and restricts user actions based on the protection settings you configure. ## Protect Sheet -Protect sheet feature helps you to prevent the unknown users from accidentally changing, editing, moving, or deleting data in a spreadsheet. And you can also protect the sheet with password. You can use the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#isprotected) property to enable or disable the Protecting functionality. +Protect sheet feature helps you to prevent the unknown users from accidentally changing, editing, moving, or deleting data in a spreadsheet. And you can also protect the sheet with password. You can use the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#isprotected) property to enable or disable the Protecting functionality. > * The default value for `isProtected` property is `false`. @@ -40,7 +44,7 @@ In the active Spreadsheet, the sheet protection can be done by any of the follow * Select the Protect Sheet item in the Ribbon toolbar under the Data Tab, and then select your desired options. * Right-click the sheet tab, select the Protect Sheet item in the context menu, and then select your desired options. -* Use the [`protectSheet()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#protectsheet) method programmatically. +* Use the [`protectSheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#protectsheet) method programmatically. The following example shows `Protect Sheet` functionality in the Spreadsheet control. @@ -67,7 +71,8 @@ The following example shows `Protect Sheet` functionality in the Spreadsheet con ## Unprotect Sheet -Unprotect sheet is used to enable all the functionalities that are already disabled in a protected spreadsheet. +The **Unprotect Sheet** feature restores all functionalities that were disabled in a protected spreadsheet. +Once a sheet is unprotected, users can edit, format, insert, delete, and move data without restrictions. **User Interface**: @@ -75,11 +80,11 @@ In the active Spreadsheet, the sheet Unprotection can be done by any of the foll * Select the `Unprotect Sheet` item in the Ribbon toolbar under the Data Tab. * Right-click the sheet tab, select the `Unprotect Sheet` item in the context menu. -* Use the [`unprotectSheet()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#unprotectsheet) method programmatically. +* Use the [`unprotectSheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#unprotectsheet) method programmatically. ## Unlock the particular cells in the protected sheet -In protected spreadsheet, to make some particular cell or range of cells are editable, you can use [`lockCells()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#lockcells) method, with the parameter `range` and `isLocked` property as false. +In protected spreadsheet, to make some particular cell or range of cells are editable, you can use [`lockCells`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#lockcells) method, with the parameter `range` and `isLocked` property as false. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -100,9 +105,9 @@ In protected spreadsheet, to make some particular cell or range of cells are edi ## Make cells read-only without protecting worksheet -Previously, you could make cells read-only by protecting the entire sheet using the [protectSheet](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#protectsheet) method or through the UI option. Meanwhile, to make a specific range of cells editable within a protected sheet, you needed to use the [lockCells](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#lockcells) method, passing the `range` parameter and setting the `isLocked` property to **false**. +Previously, you could make cells read-only by protecting the entire sheet using the [protectSheet](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#protectsheet) method or through the UI option. Meanwhile, to make a specific range of cells editable within a protected sheet, you needed to use the [lockCells](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#lockcells) method, passing the `range` parameter and setting the `isLocked` property to **false**. -Now, you can make an entire row, an entire column, or a specific range of cells read-only using the [setRangeReadOnly](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#setrangereadonly) method without protecting the entire sheet. This method accepts three parameters, as detailed in the following table: +Now, you can make an entire row, an entire column, or a specific range of cells read-only using the [setRangeReadOnly](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#setrangereadonly) method without protecting the entire sheet. This method accepts three parameters, as detailed in the following table: | Parameter | Description | |-----|------| @@ -169,7 +174,7 @@ The following example demonstrates how to make rows, columns, and cells read-onl ## Protect Workbook -Protect workbook feature helps you to protect the workbook so that users cannot insert, delete, rename, hide the sheets in the spreadsheet. You can use the [`password`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#password) property to protect workbook with password. You can use the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#isprotected) property to protect or unprotect the workbook without the password. +Protect workbook feature helps you to protect the workbook so that users cannot insert, delete, rename, hide the sheets in the spreadsheet. You can use the [`password`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#password) property to protect workbook with password. You can use the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#isprotected) property to protect or unprotect the workbook without the password. > The default value for `isProtected` property is `false`. @@ -177,7 +182,7 @@ Protect workbook feature helps you to protect the workbook so that users cannot In the active Spreadsheet, you can protect the worksheet by selecting the Data tab in the Ribbon toolbar and choosing the `Protect Workbook` item. Then, enter the password and confirm it and click on OK. -The following example shows `Protect Workbook` by using the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#isprotected) property in the Spreadsheet control. +The following example shows `Protect Workbook` by using the [`isProtected`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#isprotected) property in the Spreadsheet control. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -196,7 +201,7 @@ The following example shows `Protect Workbook` by using the [`isProtected`](http {% previewsample "/document-processing/code-snippet/spreadsheet/react/local-data-binding-cs3" %} -The following example shows `Protect Workbook` by using the [`password`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#password) property in the Spreadsheet control. To unprotect the workbook, click the unprotect workbook button in the data tab and provide the password as syncfusion® in the dialog box. +The following example shows `Protect Workbook` by using the [`password`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#password) property in the Spreadsheet control. To unprotect the workbook, click the unprotect workbook button in the data tab and provide the password as syncfusion® in the dialog box. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -217,11 +222,11 @@ The following example shows `Protect Workbook` by using the [`password`](https:/ ## Unprotect Workbook -Unprotect Workbook is used to enable the insert, delete, rename, move, copy, hide or unhide sheets feature in the spreadsheet. +The **Unprotect Workbook** feature restores full access to workbook-level operations such as inserting, deleting, renaming, moving, copying, hiding and unhiding sheets that were restricted when the workbook was protected. **User Interface**: -In the active Spreadsheet, the workbook Unprotection can be done in any of the following ways: +In the active Spreadsheet, the workbook can be unprotected in any of the following ways: * Select the `Unprotect Workbook` item in the Ribbon toolbar under the Data Tab and provide the valid password in the dialog box. diff --git a/Document-Processing/Excel/Spreadsheet/React/ribbon.md b/Document-Processing/Excel/Spreadsheet/React/ribbon.md index a8dcf14d3..fb218218d 100644 --- a/Document-Processing/Excel/Spreadsheet/React/ribbon.md +++ b/Document-Processing/Excel/Spreadsheet/React/ribbon.md @@ -9,25 +9,43 @@ documentation: ug # Ribbon in React Spreadsheet component -It helps to organize a spreadsheet’s features into a series of tabs. By clicking the expand or collapse icon, you can expand or collapse the ribbon toolbar dynamically. +The Ribbon in the Spreadsheet component, helps to organize the features into a series of tabs, making it easier for users to find and access functionality. You can dynamically expand or collapse the ribbon toolbar to optimize screen space. + +- **Tabs** → Groups related operations across feature areas like File, Home, Insert, Data, Review, and View + +- **Toolbar Items** → Individual operations within each tab such as Bold, Italic, Font size, Alignment, and Fill color + +- **File Menu** → File-related operations including New, Open, Save, Save As, and Print ## Ribbon Customization -You can customize the ribbon using the following methods, - -| Method | Action | -|-------|---------| -| [`hideRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#hideribbontabs) | Used to show or hide the existing ribbon tabs. | -| [`enableRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#enableribbontabs) | Used to enable or disable the existing ribbon tabs. | -| [`addRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#addribbontabs) | Used to add custom ribbon tabs. | -| [`hideToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#hidetoolbaritems) | Used to show or hide the existing ribbon toolbar items. | -| [`enableToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#enabletoolbaritems) | Used to enable or disable the specified toolbar items. | -| [`addToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#addtoolbaritems) | Used to add the custom items in ribbon toolbar. | -| [`hideFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#hidefilemenuitems) | Used to show or hide the ribbon file menu items. | -| [`enableFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#enablefilemenuitems) | Used to enable or disable file menu items. | -| [`addFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#addfilemenuitems) | Used to add custom file menu items. | - -The following code example shows the usage of ribbon customization. +You can customize the ribbon appearance and functionality using the following ways: + +### Manage Ribbon Items + +Control which ribbon tabs are visible and accessible to users. Use these methods to streamline the interface for specific workflows or user roles. + +- [`hideRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#hideribbontabs) - Used to show or hide the existing ribbon tabs. +- [`enableRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enableribbontabs) - Used to enable or disable the existing ribbon tabs. +- [`addRibbonTabs`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addribbontabs) - Used to add custom ribbon tabs. + +### Manage Toolbar Items + +Manage individual toolbar items within each tab. Use these methods to control feature availability and simplify the user interface. + +- [`hideToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#hidetoolbaritems) - Used to show or hide the existing ribbon toolbar items. +- [`enableToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enabletoolbaritems) - Used to enable or disable the specified toolbar items +- [`addToolbarItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addtoolbaritems) - Used to add the custom items in ribbon toolbar. + +### Manage File Menu Items + +Control file-related operations accessible through the File menu. Use these methods to restrict or extend file operations based on your requirements. + +- [`hideFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#hidefilemenuitems) - Used to show or hide the ribbon file menu items. +- [`enableFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#enablefilemenuitems) - Used to enable or disable file menu items. +- [`addFileMenuItems`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#addfilemenuitems) - Used to add custom file menu items. + +The following code example demonstrates how to customize the ribbon by hiding tabs, adding custom tabs, and managing toolbar visibility: {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md index 298a75b3e..257012410 100644 --- a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md +++ b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md @@ -9,11 +9,13 @@ documentation: ug # Rows and columns in React Spreadsheet component -Spreadsheet is a tabular format consisting of rows and columns. The intersection point of rows and columns are called as cells. The list of operations that you can perform in rows and columns are, +A spreadsheet is organized in a tabular format consisting of **rows** and **columns**. The intersection of a row and a column is called a **cell**. -* Insert -* Delete -* Show and Hide +The list of operations that you can perform on rows and columns includes: + +* **Insert** – Add new rows or columns to the worksheet. +* **Delete** – Remove existing rows or columns from the worksheet. +* **Show and Hide** – Control the visibility of rows and columns by hiding or unhiding them. ## Insert diff --git a/Document-Processing/Excel/Spreadsheet/React/save-excel-files.md b/Document-Processing/Excel/Spreadsheet/React/save-excel-files.md index 8d88ab29e..5adac4794 100644 --- a/Document-Processing/Excel/Spreadsheet/React/save-excel-files.md +++ b/Document-Processing/Excel/Spreadsheet/React/save-excel-files.md @@ -9,13 +9,29 @@ documentation: ug # Save Excel Files in Syncfusion React Spreadsheet -When exporting an Excel file from the React Spreadsheet component, the process is handled through a streamlined server‑side workflow. The Spreadsheet content displayed in the browser is first serialized into a structured JSON workbook. This JSON includes all essential details—such as data, formulas, formatting, styles, and sheet configuration. +Exporting Excel files from the React Spreadsheet component is handled through a `server-side workflow` to ensure accuracy and performance. -Once generated, this JSON workbook is sent to the server, where the [`Syncfusion.EJ2.Spreadsheet library`](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core) uses [`Syncfusion XlsIO`](https://help.syncfusion.com/document-processing/excel/excel-library/net/overview) to convert the JSON data into a fully formatted Excel file. During this process, the JSON workbook is parsed and its contents are mapped to an XlsIO Workbook instance, ensuring that all data, styles, formulas, and other Spreadsheet features are accurately preserved. +**Client Side** +* The Spreadsheet content in the browser is serialized into a **JSON workbook**. +* This JSON includes data, formulas, formatting, styles, and sheet configuration. -Since the server is responsible for generating the final Excel file, the total export time can vary depending on the workbook’s complexity. Factors such as the level of formatting, styles and the use of advanced features like formulas or conditional formatting can influence processing time. After the file is successfully generated, it is sent back to the client for download. +**Server Side** +* The JSON workbook is sent to the server. +* The [`Syncfusion.EJ2.Spreadsheet.AspNet.Core`](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core) library, built on top of [`Syncfusion XlsIO`](https://help.syncfusion.com/document-processing/excel/excel-library/net/overview), converts the JSON into a fully formatted Excel file. +* The JSON is parsed and mapped to an **XlsIO Workbook instance**, preserving all features. -To enable saving Excel files, set the [`allowSave`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowsave) property to **true** and specify the service URL using the [`saveUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#saveurl) property. When a save action is triggered, the control sends the spreadsheet model to this endpoint, where it is processed and returned as a downloadable Excel file. +**Download** +* The server generates the final Excel file. +* The file is returned to the client for download. + +### Performance Notes +* Export time depends on workbook complexity. +* Heavy formatting, advanced formulas, or conditional formatting may increase processing time. + +### Enabling Save Functionality +* Set the [`allowSave`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#allowsave) property to `true`. +* Specify the service endpoint using the [`saveUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#saveurl) property. +* When a save action is triggered, the Spreadsheet sends the JSON model to this endpoint, where it is processed and returned as a downloadable Excel file. For a quick walkthrough on how the save functionality works, refer to the following video: {% youtube "https://www.youtube.com/watch?v=MpwiXmL1Z_o" %} @@ -220,13 +236,28 @@ fetch('https://localhost:{port number}/Home/Save') ### Save Excel files with AWS Lambda -Before proceeding with the save process, you should deploy the spreadsheet open/save web API service in AWS Lambda. To host the open/save web service in the AWS Lambda environment, please refer to the following KB documentation. - +To save Excel files using AWS Lambda, you first need to deploy the **spreadsheet open/save web API service** in AWS Lambda. +For detailed steps, refer to this KB article: [How to deploy a spreadsheet open and save web API service to AWS Lambda](https://support.syncfusion.com/kb/article/17184/how-to-deploy-a-spreadsheet-open-and-save-web-api-service-to-aws-lambda) After deployment, you will get the AWS service URL for the open and save actions. Before saving the Excel file with this hosted save URL, you need to prevent the default save action to avoid getting a corrupted excel file on the client end. The save service returns the file stream as a result to the client, which can cause the file to become corrupted. To prevent this, set the `args.cancel` value to `true` in the [`beforeSave`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#beforesave) event. After that, convert the spreadsheet data into JSON format using the [saveAsJson](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#saveasjson) method in the `beforeSave` event and send it to the save service endpoint URL using a fetch request. -On the server side, the save service will take the received JSON data, pass it to the workbook `Save` method, and return the result as a base64 string. The fetch success callback will receive the Excel file in base64 string format on the client side. Finally, you can then convert the base64 string back to a file on the client end to obtain a non-corrupted Excel file. +**Prevent default save action** +By default, the save service returns the file stream directly to the client, which can cause corruption. +To avoid this, set `args.cancel = true` in the [`beforeSave`](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#beforesave) event. + +**Handle the file on client side** +* In the `beforeSave` event, convert the spreadsheet data into **JSON format** using the [`saveAsJson`](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#saveasjson) method. +* Send this JSON data to the AWS save service endpoint using a `fetch` request. + +**Process the file on server side** +* The save service receives the JSON data. +* It passes the data to the workbook `Save` method. +* The service returns the result as a **base64 string**. + +**Render on client side** +* The fetch success callback receives the Excel file in base64 string format. +* Convert the base64 string back into a file on the client side to obtain a non-corrupted Excel file. The following code example shows how to save an Excel file using a hosted web service in AWS Lambda, as mentioned above. diff --git a/Document-Processing/Excel/Spreadsheet/React/searching.md b/Document-Processing/Excel/Spreadsheet/React/searching.md index 33af8f3ce..e871b3e97 100644 --- a/Document-Processing/Excel/Spreadsheet/React/searching.md +++ b/Document-Processing/Excel/Spreadsheet/React/searching.md @@ -30,7 +30,7 @@ Find can be done by any of the following ways: > * `Match case`: To find the matched value with case sensitive. > * `Match exact cell contents`: To find the exact matched cell value with entire match cases. -* Using [`find()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#find) method to perform find operation. +* Using [`find`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#find) method to perform find operation. ## Replace @@ -43,8 +43,8 @@ Replace can be done by any of the following ways: * Using `Ctrl + H` key to open the Find and Replace dialog. * Using Replace button to change the found value in sheet or workbook. * Using ReplaceAll button to change all the found value's in sheet or workbook. -* Using [`replace()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#replace) method to perform replace operation by passing the argument `args.replaceby` as `replace`. -* Using [`replace()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#replace) method to perform replace all operation by passing the argument `args.replaceby` as `replaceall`. +* Using [`replace`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#replace) method to perform replace operation by passing the argument `args.replaceby` as `replace`. +* Using [`replace`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#replace) method to perform replace all operation by passing the argument `args.replaceby` as `replaceall`. ## Go to @@ -53,7 +53,7 @@ Go to is used to navigate to a specific cell address in the sheet or workbook. **User Interface**: * Using `Ctrl + G` key to open the Go To dialog. -* Using [`goTo()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#goto) method to perform Go To operation. +* Using [`goTo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#goto) method to perform Go To operation. In the following sample, searching can be done by following ways: diff --git a/Document-Processing/Excel/Spreadsheet/React/selection.md b/Document-Processing/Excel/Spreadsheet/React/selection.md index 98e1eae43..4dc2b75d2 100644 --- a/Document-Processing/Excel/Spreadsheet/React/selection.md +++ b/Document-Processing/Excel/Spreadsheet/React/selection.md @@ -9,19 +9,23 @@ documentation: ug # Selection in React Spreadsheet component -Selection provides interactive support to highlight the cell, row, or column that you select. Selection can be done through Mouse, Touch, or Keyboard interaction. To enable selection, set `mode` as `Single` / `Multiple` in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#selectionsettings). If you set `mode` to `None`, it disables the UI selection. +Selection provides interactive support to highlight the cell, row, or column that you select. Selection can be done through Mouse, Touch, or Keyboard interaction. -> * The default value for `mode` in `selectionSettings` is `Multiple`. +To configure selection, use the [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#selectionsettings) property: +* `mode = "Single"` → allows selecting only one cell, row, or column at a time. +* `mode = "Multiple"` → allows selecting multiple cells, rows, or columns at once. +* `mode = "None"` → disables UI selection completely. -You have the following options in Selection, +> The default value for `mode` is `Multiple`. -* Cell selection -* Row selection -* Column selection +You can perform: +* Cell selection – highlight individual cells. +* Row selection – highlight entire rows. +* Column selection – highlight entire columns. ## Cell selection -Cell selection is used to select a single or multiple cells. It can be performed using the [`selectRange`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#selectrange) method. +Cell selection is used to select a single or multiple cells. It can be performed using the [`selectRange`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#selectrange) method. **User Interface**: @@ -97,7 +101,7 @@ The following sample shows the column selection in the spreadsheet, here selecti ## Get selected cell values -You can select single or multiple cells, rows, or columns using mouse and keyboard interactions. Additionally, you can also programmatically perform selection using the [selectRange](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet/#selectrange) method. This selection behavior is controlled based on the [selectionSettings](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet/#selectionsettings) property. Now, retrieving the selected cell values as a collection is achievable using the [getData](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet/#getdata) method. +You can select single or multiple cells, rows, or columns using mouse and keyboard interactions. Additionally, you can also programmatically perform selection using the [selectRange](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet#selectrange) method. This selection behavior is controlled based on the [selectionSettings](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet#selectionsettings) property. Now, retrieving the selected cell values as a collection is achievable using the [getData](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet#getdata) method. Below is a code example demonstrating how to retrieve the selected cell values as a collection programmatically: @@ -120,7 +124,7 @@ Below is a code example demonstrating how to retrieve the selected cell values a ## Remove selection -The following sample shows, how to remove the selection in the spreadsheet. Here changing the `mode` as `None` in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#selectionsettings) to disable's the UI selection. +The following sample shows, how to remove the selection in the spreadsheet. Here changing the `mode` as `None` in [`selectionSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#selectionsettings) to disable's the UI selection. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/sort.md b/Document-Processing/Excel/Spreadsheet/React/sort.md index 631a4728d..c03637e59 100644 --- a/Document-Processing/Excel/Spreadsheet/React/sort.md +++ b/Document-Processing/Excel/Spreadsheet/React/sort.md @@ -15,25 +15,23 @@ Sorting helps arranging the data to a specific order in a selected range of cell By default, the `sort` module is injected internally into Spreadsheet to perform sorting. -## Sort by cell value +## Sort by Cell value -In the active Spreadsheet, select a range of cells to sort by cell value. The range sort can be done by any of the following ways: -* Select the sort item in the Ribbon toolbar and choose the ascending or descending item. -* Right-click the sheet, select the sort item in the context menu and choose the ascending/descending item. -* Use the [`sort()`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sort) method programmatically. +In the active Spreadsheet, you can sort a selected range of cells by their values. Sorting can be done in several ways: -The cell values can be sorted in the following orders: -* Ascending -* Descending - -> * Ascending is the default order for sorting. +* **Ribbon Toolbar** – Select the sort option under the Ribbon toolbar and choose ascending or descending. +* **Context Menu** – Right-click the sheet, select the sort option, and choose ascending or descending. +* **Programmatically** – Use the [`sort`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sort) method. -The `sort()` method with empty arguments will sort the selected range by active cell’s column as sort column in ascending order. +The cell values can be sorted in the following orders: +* **Ascending** – Default order for sorting. +* **Descending** – Reverse order. +When the `sort` method is called with empty arguments, the selected range is sorted by the active cell’s column in ascending order. > * The [`beforeSort`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#beforesort) event will be triggered before sorting the specified range. > * The [`sortComplete`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sortcomplete) event will be triggered after the sort action is completed successfully. -The following code example shows `sort` functionality in the Spreadsheet control. +The following code example demonstrates the `sort` functionality in the Spreadsheet control. {% tabs %} {% highlight js tabtitle="app.jsx" %} @@ -54,7 +52,7 @@ The following code example shows `sort` functionality in the Spreadsheet control ## Data contains header -You can specify whether the selected range of cells contains header. To specify, you need to set the [`containsHeader`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#containsheader) property to `true` and pass it as `sortOption` arguments of the sort() method. +You can specify whether the selected range of cells contains header. To specify, you need to set the [`containsHeader`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#containsheader) property to `true` and pass it as `sortOption` arguments of the sort method. > * If the `containsHeader` property is not set and active cell column’s first cell value type is differed from the second cell value type, the first row data in the range are marked as column headers. @@ -70,12 +68,13 @@ You can also enable or disable this property using `beforeSort` event arguments, In the custom sort dialog, the `Data contains header` checkbox is checked on load. Thus, the default value for `containsHeader` is `true` in custom sort dialog. -## Case sensitive sort +## Case Sensitive sort -The default sort functionality of Spreadsheet is a case insensitive sorting. When you want to perform sorting with case sensitive, you need to set the [`caseSensitive`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#casesensitive) property to `true` and pass it as `sortOption` arguments of the sort() method. - -Case sensitive sorting is applicable only for cells with alphabets. In ascending order sorting with case sensitive enabled, the cells with lower case text will be placed above the cells with upper case text. +By default, sorting in the Spreadsheet is **case insensitive**. +To perform sorting with case sensitivity, set the [`caseSensitive`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#casesensitive) property to `true` and pass it as part of the `sortOption` arguments in the `sort` method. +* Case sensitive sorting applies only to cells containing alphabets. +* In ascending order with case sensitivity enabled, cells with lowercase text appear above cells with uppercase text. > * The default value for the `caseSensitive` property is `false`. You can also enable or disable this property using `beforeSort` event arguments, @@ -93,21 +92,26 @@ In the custom sort dialog, the `Case sensitive` checkbox is unchecked on load as When you want to perform sorting on multiple columns, it can be done by any of the following ways: * Select the `Custom sort…` menu item from the Ribbon toolbar item or context menu item. -* Use the `sort()` method programmatically by providing sort criteria. +* Use the `sort` method programmatically by providing sort criteria. > * The current sorting functionality supports sorting based on cell values only. -### Custom sort dialog +### Custom Sort Dialog -The custom sort dialog helps sorting multiple columns in the selected range by utilizing the rich UI. This dialog will be appeared while choosing the `Custom sort…` from the Ribbon item or context menu item. By default, sort criteria with the first column name from the selected range will be appeared in the dialog on initial load and it cannot be removed. +The custom sort dialog allows sorting multiple columns in a selected range using a rich UI. +This dialog appears when you choose `Custom sort…` from the Ribbon or context menu. +* By default, the dialog shows sort criteria with the first column name from the selected range. This initial criterion cannot be removed. +* You can add more criteria using the `Add Column` button at the bottom of the dialog. Each criterion can have its own sort order. +* Newly added criteria can be removed using the `delete` icon next to each item. -You can add multiple criteria using the `Add Column` button at the bottom of the dialog. Thus, multiple columns can be specified with different sort order. The newly added sort criteria items can be removed using the `delete` icons at the end of each items. +* **Data contains header** – Refer to the [Data contains header](./sort#data-contains-header) topic for details about the checkbox. +* **Case sensitive** – Refer to the [Case sensitive sort](./sort#case-sensitive-sort) topic for details about the checkbox. -You can refer to the [`Data contains header`](./sort#data-contains-header) topic to learn more about `Data contains header` checkbox. To learn more about `Case sensitive` checkbox, you can refer to [`Case sensitive sort`](./sort#case-sensitive-sort) topic. +This dialog makes it easy to sort complex datasets by multiple columns with clear, customizable options. ### Passing sort criteria manually -The multi-column sorting can also be performed manually by passing sort options to the `sort()` method programmatically. The `sortOption` have the following arguments: +The multi-column sorting can also be performed manually by passing sort options to the `sort` method programmatically. The `sortOption` have the following arguments: * [`sortDescriptors`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sortdescriptors) – Sort criteria collection that holds the collection of field name, sort order, and [`sortComparer`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sortcomparer). * `containsHeader` – Boolean argument that specifies whether the range has headers in it. * `caseSensitive` – Boolean argument that specifies whether the range needs to consider case. @@ -143,10 +147,14 @@ By customizing sort comparer, you can define the sort action as desired. For custom sort comparer example, refer to the [`Sort a range by custom list`] below. ### Sort a range by custom list - You can also define the sorting of cell values based on your own customized personal list. In this article, custom list is achieved using `custom sort comparer`. -In the following demo, the `Trustworthiness` column is sorted based on the custom lists `Perfect`, `Sufficient`, and `Insufficient`. +For example, in the demo below, the `Trustworthiness`column is sorted according to the custom list values: +* `Perfect` +* `Sufficient` +* `Insufficient` + +This approach lets you control the order of sorting beyond the default ascending or descending options, making it easier to arrange data according to personalized or domain-specific criteria. {% tabs %} {% highlight js tabtitle="app.jsx" %} diff --git a/Document-Processing/Excel/Spreadsheet/React/template.md b/Document-Processing/Excel/Spreadsheet/React/template.md index eb51ae2b8..ec2a4e92b 100644 --- a/Document-Processing/Excel/Spreadsheet/React/template.md +++ b/Document-Processing/Excel/Spreadsheet/React/template.md @@ -9,7 +9,20 @@ documentation: ug # Template in React Spreadsheet component -Cell Template is used for adding HTML elements into Spreadsheet. You can add the cell template in spreadsheet by using the `template` property and specify the address using the `address` property inside the `ranges` property. You can customize the Html elements similar to Syncfusion® components (TextBox, DropDownList, RadioButton, MultiSelect, DatePicker etc) by using the `beforeCellRender` event. In this demo, Cell template is applied to `C2:C9` and instantiated with Html input components like TextBox, RadioButton, TextArea. You need to bind the events to perform any operations through HTML elements or Syncfusion® components. Here, we have added `change` event in to the MultiSelect control, and we have updated the selected data into the spreadsheet cell through that change event. +Cell templates allow you to embed HTML elements and Syncfusion® components directly into spreadsheet cells. This enables rich, interactive data entry experiences beyond standard cell values. + +## Key Features + +- **HTML Elements** – You can add TextBox, RadioButton, TextArea, and other HTML controls to cells for enhanced user input options +- **Syncfusion Components** – You can integrate DropDownList, MultiSelect, DatePicker, and other Syncfusion controls for advanced data entry +- **Event Binding** – You can attach event handlers to perform operations on user interaction and update spreadsheet data +- **Custom Rendering** – You can use the `beforeCellRender` event for advanced customization and dynamic template modifications + +## Cell Templates + +Define a cell template using the `template` property and specify the target range with the `address` property within the `ranges` configuration. This associates your template with specific cells in the spreadsheet. + +The `beforeCellRender` event fires before template rendering, allowing you to customize HTML elements and Syncfusion components dynamically based on cell address, data, or application state. The following sample describes the above behavior. diff --git a/Document-Processing/Excel/Spreadsheet/React/undo-redo.md b/Document-Processing/Excel/Spreadsheet/React/undo-redo.md index f1be15396..7abbf5f51 100644 --- a/Document-Processing/Excel/Spreadsheet/React/undo-redo.md +++ b/Document-Processing/Excel/Spreadsheet/React/undo-redo.md @@ -9,31 +9,52 @@ documentation: ug # Undo redo in React Spreadsheet component -`Undo` option helps you to undone the last action performed and `Redo` option helps you to do the same action which is reverted in the Spreadsheet. You can use the [`allowUndoRedo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowundoredo) property to enable or disable undo redo functionality in spreadsheet. +The Undo and Redo functionality allows you to reverse or restore actions performed in the Spreadsheet. `Undo` reverses the last action you performed, while `Redo` restores an action that was previously undone. This feature is essential for efficient data entry and editing, allowing users to experiment with changes without lose of work. + +You can enable or disable undo redo functionality using the [`allowUndoRedo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#allowundoredo) property. > * The default value for `allowUndoRedo` property is `true`. By default, the `UndoRedo` module is injected internally into Spreadsheet to perform undo redo. +## Supported Operations in Undo/Redo + +The following operations are automatically recorded and can be undone/redone: + +| Operation | Explanation | +|-----------|------------| +| `Cell Edits` | • Restores values, formulas, and formatting to previous state
• Preserves cell dependencies and references
• Reverts wrapping and hyperlink changes | +| `Copy/Paste` | • Undoes pasted content including ranges, images, and shapes
• Restores original cell state before paste
• Maintains external metadata and clipboard history | +| `Insert/Delete` | • Restores deleted rows, columns, or sheets
• Re-applies or removes insertions
• Automatically updates all affected references | +| `Hide/Show` | • Toggles visibility state back to previous condition
• Restores hidden/visible row or column layout | +| `Resize` | • Reverts row height and column width to original dimensions
• Restores layout and visual alignment | +| `Merge/Unmerge` | • Restores merged cell state or unmerges previously merged cells
• Preserves cell content and formatting | +| `Autofill` | • Reverts generated data series to original cells
• Restores conditional formatting variants | +| `Sort` | • Restores original row order after sort
• Maintains data integrity for multi-row sorts
• Preserves cell references and dependencies | +| `Notes/Comments` | • Removes added notes or restores deleted comments
• Reverts comment edits to previous text | +| `Conditional Formatting` | • Removes applied rules or restores deleted rules
• Reverts condition modifications | +| `Data Validation` | • Removes validation rules or restores deleted rules
• Reverts validation criteria changes | +| `Charts & Images` | • Removes inserted charts or images
• Restores deleted charts or images
• Reverts anchor position and properties | + ## Undo It reverses the last action you performed with Spreadsheet. Undo can be done by any of the following ways: -* Select the undo item from HOME tab in Ribbon toolbar. +* Select the undo item from **HOME** tab in Ribbon toolbar. * Use `Ctrl + Z` keyboard shortcut to perform the undo. -* Use the [`undo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#undo) method programmatically. +* Use the [`undo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#undo) method programmatically. ## Redo It reverses the last undo action you performed with Spreadsheet. Redo can be done by any of the following ways: -* Select the redo item from HOME tab in Ribbon toolbar. +* Select the redo item from **HOME** tab in Ribbon toolbar. * Use `Ctrl + Y` keyboard shortcut to perform the redo. -* Use the [`redo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#redo) method programmatically. +* Use the [`redo`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#redo) method programmatically. ## Update custom actions in UndoRedo collection -You can update your own custom actions in UndoRedo collection, by using the [`updateUndoRedoCollection`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#updateundoredocollection) method. And also customize the undo redo operations of your custom action by using `actionComplete` event. +You can update your own custom actions in UndoRedo collection, by using the [`updateUndoRedoCollection`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#updateundoredocollection) method. And also customize the undo redo operations of your custom action by using `actionComplete` event. The following code example shows `How to update and customize your own actions for undo redo` functionality in the Spreadsheet control. diff --git a/Document-Processing/Excel/Spreadsheet/React/worksheet.md b/Document-Processing/Excel/Spreadsheet/React/worksheet.md index 85419436f..adc99e3d7 100644 --- a/Document-Processing/Excel/Spreadsheet/React/worksheet.md +++ b/Document-Processing/Excel/Spreadsheet/React/worksheet.md @@ -9,7 +9,15 @@ documentation: ug # Worksheet in React Spreadsheet component -Worksheet is a collection of cells organized in the form of rows and columns that allows you to store, format, and manipulate the data. +A **Worksheet** is a collection of cells organized in rows and columns. It allows you to store, format, and manipulate data efficiently within the Spreadsheet. Each worksheet provides a structured grid where you can enter values, apply formulas, and customize formatting to manage your data. + +Worksheets are part of the **Spreadsheet component**, and you can configure them using the [`sheets`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#sheets) property. This property lets you define multiple worksheets, each with its own settings such as rows, columns, data, and formatting options. + +By using worksheets, you can: +* Organize data into separate tabs for better clarity. +* Apply different formatting styles to each sheet. +* Manage formulas and calculations independently across sheets. +* Import or export data while maintaining sheet-level configurations. ## Add sheet @@ -38,7 +46,7 @@ The following code example shows the insert sheet operation in spreadsheet. {% previewsample "/document-processing/code-snippet/spreadsheet/react/insert-sheet-cs1" %} -### Insert a sheet programmatically and make it active sheet +### Insert a sheet programmatically and make it active sheet A sheet is a collection of cells organized in the form of rows and columns that allows you to store, format, and manipulate the data. Using [insertSheet](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#insertsheet) method, you can insert one or more sheets at the desired index. Then, you can make the inserted sheet as active sheet by focusing the start cell of that sheet using the [goTo](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#goto) method. @@ -57,10 +65,11 @@ The following code example shows how to insert a sheet programmatically and make ## Delete sheet -The Spreadsheet has support for removing an existing worksheet. You can dynamically delete the existing sheet by the following way, +The Spreadsheet supports removing an existing worksheet. You can delete a sheet in the following ways: -* Right-click on the sheet tab, and then select `Delete` option from context menu. -* Using [`delete`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#delete ) method to delete the sheets. +* Right-click on the sheet tab, and then select the **Delete** option from the context menu. +* Use the [`delete`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet#delete) method to remove sheets programmatically. +* Note: You cannot delete a worksheet if only one sheet exists in the workbook. ## Rename sheet @@ -80,7 +89,7 @@ By default, the row and column headers are visible in worksheets. You can dynami Gridlines act as a border like appearance of cells. They are used to distinguish cells on the worksheet. You can dynamically show or hide gridlines by using one of the following ways, * Switch to `View` tab, and then select `Hide Gridlines` option to hide the gridlines in worksheet. -* Set `showGridLines` property in `sheets` as `true` or `false` to show or hide the gridlines at initial load. By default, the `showGridLines` property is enabled in each worksheet. +* Set `showGridLines` property in `sheets` as `true` or `false` to show or hide the gridlines at initial load. By default, the [showGridLines](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/sheet#showgridlines) property is enabled in each worksheet. The following code example shows the headers and gridlines operation in spreadsheet.