diff --git a/ej2-react-toc.html b/ej2-react-toc.html
index 6986c31c1..b2e763d2c 100644
--- a/ej2-react-toc.html
+++ b/ej2-react-toc.html
@@ -2415,15 +2415,9 @@
Templates
How To
Mobile Responsiveness
@@ -2949,7 +2943,7 @@
Release Notes
- - 2024 Volume 2 - 26.*
- 2024 Volume 1 - 25.*
+ - 2024 Volume 2 - 26.*
- 2024 Volume 1 - 25.*
- 2023 Volume 4 - 24.*
- 2023 Volume 3 - 23.*
- 2023 Volume 2 - 22.*
diff --git a/ej2-react/Release-notes/26.1.40.md b/ej2-react/Release-notes/26.1.40.md
new file mode 100644
index 000000000..0f231bd06
--- /dev/null
+++ b/ej2-react/Release-notes/26.1.40.md
@@ -0,0 +1,16 @@
+---
+title: Essential Studio for React Weekly Release Release Notes
+description: Essential Studio for React Weekly Release Release Notes
+platform: ej2-react
+documentation: ug
+---
+
+# Essential Studio for React Release Notes
+
+{% include release-info.html date="July 02, 2024" version="v26.1.40" %}
+
+{% directory path: _includes/release-notes/v26.1.40 %}
+
+{% include {{file.url}} %}
+
+{% enddirectory %}
\ No newline at end of file
diff --git a/ej2-react/code-snippet/spreadsheet/readonly-cs1/app/app.jsx b/ej2-react/code-snippet/spreadsheet/readonly-cs1/app/app.jsx
index afcd3a7df..07f8340d5 100644
--- a/ej2-react/code-snippet/spreadsheet/readonly-cs1/app/app.jsx
+++ b/ej2-react/code-snippet/spreadsheet/readonly-cs1/app/app.jsx
@@ -1,7 +1,7 @@
{% raw %}
import * as React from 'react';
import { createRoot } from 'react-dom/client';
-import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective, RangeDirective, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-spreadsheet';
+import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective, RangeDirective, ColumnsDirective, ColumnDirective, RowsDirective, RowDirective, CellsDirective, CellDirective } from '@syncfusion/ej2-react-spreadsheet';
import { data } from './datasource';
function App() {
const spreadsheetRef = React.useRef(null);
diff --git a/ej2-react/grid/context-menu.md b/ej2-react/grid/context-menu.md
index 9910d6aee..b3a0e680e 100644
--- a/ej2-react/grid/context-menu.md
+++ b/ej2-react/grid/context-menu.md
@@ -87,8 +87,6 @@ Furthermore, you can assign actions to these custom items by utilizing the [cont
The following example demonstrates how to add custom context menu items in the Grid component.
-The following example demonstrates how to add custom context menu items in the Grid component.
-
{% tabs %}
{% highlight js tabtitle="App.jsx" %}
{% include code-snippet/grid/context-menu-cs2/app/App.jsx %}
diff --git a/ej2-react/installation/mac-installer/images/Mac_Download.PNG b/ej2-react/installation/mac-installer/images/Mac_Download.PNG
index ed5adb547..98c2cb462 100644
Binary files a/ej2-react/installation/mac-installer/images/Mac_Download.PNG and b/ej2-react/installation/mac-installer/images/Mac_Download.PNG differ
diff --git a/ej2-react/installation/mac-installer/images/start-trial-download-offline-installer.png b/ej2-react/installation/mac-installer/images/start-trial-download-offline-installer.png
index ac91bf523..ced0a734b 100644
Binary files a/ej2-react/installation/mac-installer/images/start-trial-download-offline-installer.png and b/ej2-react/installation/mac-installer/images/start-trial-download-offline-installer.png differ
diff --git a/ej2-react/installation/mac-installer/images/trial-confirmation.png b/ej2-react/installation/mac-installer/images/trial-confirmation.png
index b3015f8b3..cce92f6a8 100644
Binary files a/ej2-react/installation/mac-installer/images/trial-confirmation.png and b/ej2-react/installation/mac-installer/images/trial-confirmation.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline1.png b/ej2-react/installation/offline-installer/images/offline1.png
index 13518968a..c1973a3f3 100644
Binary files a/ej2-react/installation/offline-installer/images/offline1.png and b/ej2-react/installation/offline-installer/images/offline1.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline2.png b/ej2-react/installation/offline-installer/images/offline2.png
index e25eeeb08..fd6f46eeb 100644
Binary files a/ej2-react/installation/offline-installer/images/offline2.png and b/ej2-react/installation/offline-installer/images/offline2.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline3.png b/ej2-react/installation/offline-installer/images/offline3.png
index d7319366f..56d3c8714 100644
Binary files a/ej2-react/installation/offline-installer/images/offline3.png and b/ej2-react/installation/offline-installer/images/offline3.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline4.png b/ej2-react/installation/offline-installer/images/offline4.png
index abeec9eda..e2fb690c5 100644
Binary files a/ej2-react/installation/offline-installer/images/offline4.png and b/ej2-react/installation/offline-installer/images/offline4.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline5.png b/ej2-react/installation/offline-installer/images/offline5.png
index 4f11692e7..5d5fddbba 100644
Binary files a/ej2-react/installation/offline-installer/images/offline5.png and b/ej2-react/installation/offline-installer/images/offline5.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline7.png b/ej2-react/installation/offline-installer/images/offline7.png
index de062a8a0..c5535c7aa 100644
Binary files a/ej2-react/installation/offline-installer/images/offline7.png and b/ej2-react/installation/offline-installer/images/offline7.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline8.png b/ej2-react/installation/offline-installer/images/offline8.png
index f28de61f3..920c26690 100644
Binary files a/ej2-react/installation/offline-installer/images/offline8.png and b/ej2-react/installation/offline-installer/images/offline8.png differ
diff --git a/ej2-react/installation/offline-installer/images/offline9.png b/ej2-react/installation/offline-installer/images/offline9.png
index 158b0e965..d989df0d3 100644
Binary files a/ej2-react/installation/offline-installer/images/offline9.png and b/ej2-react/installation/offline-installer/images/offline9.png differ
diff --git a/ej2-react/installation/offline-installer/images/start-trial-download-offline-installer.png b/ej2-react/installation/offline-installer/images/start-trial-download-offline-installer.png
index e7fc8150e..f7142323d 100644
Binary files a/ej2-react/installation/offline-installer/images/start-trial-download-offline-installer.png and b/ej2-react/installation/offline-installer/images/start-trial-download-offline-installer.png differ
diff --git a/ej2-react/installation/offline-installer/images/trial-confirmation-offline.PNG b/ej2-react/installation/offline-installer/images/trial-confirmation-offline.PNG
index 3997326e6..a26c5f9b0 100644
Binary files a/ej2-react/installation/offline-installer/images/trial-confirmation-offline.PNG and b/ej2-react/installation/offline-installer/images/trial-confirmation-offline.PNG differ
diff --git a/ej2-react/installation/web-installer/images/1.png b/ej2-react/installation/web-installer/images/1.png
index d0b173992..28a29c457 100644
Binary files a/ej2-react/installation/web-installer/images/1.png and b/ej2-react/installation/web-installer/images/1.png differ
diff --git a/ej2-react/installation/web-installer/images/12.png b/ej2-react/installation/web-installer/images/12.png
index 53e2c157c..177a6f305 100644
Binary files a/ej2-react/installation/web-installer/images/12.png and b/ej2-react/installation/web-installer/images/12.png differ
diff --git a/ej2-react/installation/web-installer/images/2.png b/ej2-react/installation/web-installer/images/2.png
index 5b6a84241..1b8c6b828 100644
Binary files a/ej2-react/installation/web-installer/images/2.png and b/ej2-react/installation/web-installer/images/2.png differ
diff --git a/ej2-react/installation/web-installer/images/3.png b/ej2-react/installation/web-installer/images/3.png
index 187ea5fd8..59da53130 100644
Binary files a/ej2-react/installation/web-installer/images/3.png and b/ej2-react/installation/web-installer/images/3.png differ
diff --git a/ej2-react/installation/web-installer/images/5.png b/ej2-react/installation/web-installer/images/5.png
index ee3886266..d6600e182 100644
Binary files a/ej2-react/installation/web-installer/images/5.png and b/ej2-react/installation/web-installer/images/5.png differ
diff --git a/ej2-react/installation/web-installer/images/8.png b/ej2-react/installation/web-installer/images/8.png
index ad3fb218c..636b93b46 100644
Binary files a/ej2-react/installation/web-installer/images/8.png and b/ej2-react/installation/web-installer/images/8.png differ
diff --git a/ej2-react/installation/web-installer/images/8_.png b/ej2-react/installation/web-installer/images/8_.png
index d695a5dc5..21c982607 100644
Binary files a/ej2-react/installation/web-installer/images/8_.png and b/ej2-react/installation/web-installer/images/8_.png differ
diff --git a/ej2-react/installation/web-installer/images/9.png b/ej2-react/installation/web-installer/images/9.png
index 9a42d5e3c..821228d25 100644
Binary files a/ej2-react/installation/web-installer/images/9.png and b/ej2-react/installation/web-installer/images/9.png differ
diff --git a/ej2-react/installation/web-installer/images/9_.png b/ej2-react/installation/web-installer/images/9_.png
index 200c93137..dd9777730 100644
Binary files a/ej2-react/installation/web-installer/images/9_.png and b/ej2-react/installation/web-installer/images/9_.png differ
diff --git a/ej2-react/installation/web-installer/images/trial-confirmation.PNG b/ej2-react/installation/web-installer/images/trial-confirmation.PNG
index fa34bbf25..9cc76ab0c 100644
Binary files a/ej2-react/installation/web-installer/images/trial-confirmation.PNG and b/ej2-react/installation/web-installer/images/trial-confirmation.PNG differ
diff --git a/ej2-react/licensing/images/get-community-license-key.png b/ej2-react/licensing/images/get-community-license-key.png
index 36f39ebc8..18a9cf07c 100644
Binary files a/ej2-react/licensing/images/get-community-license-key.png and b/ej2-react/licensing/images/get-community-license-key.png differ
diff --git a/ej2-react/pdfviewer/getting-started.md b/ej2-react/pdfviewer/getting-started.md
index 251705fb8..6be0bc5ba 100644
--- a/ej2-react/pdfviewer/getting-started.md
+++ b/ej2-react/pdfviewer/getting-started.md
@@ -251,16 +251,4 @@ root.render();
{% previewsample "page.domainurl/code-snippet/pdfviewer/base-cs1-standalone" %}
-> You can refer to our [React PDF Viewer](https://www.syncfusion.com/react-components/react-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [React PDF Viewer example](https://ej2.syncfusion.com/react/demos/#/material/pdfviewer/default) to understand how to explains core features of PDF Viewer.
-
-## Limitation over Server-Backed PDF Viewer to Standalone PDF Viewer control
-
-When comparing a Standalone PDF Viewer to a Server-Backed PDF Viewer control, it's crucial to understand the limitations that the Standalone PDF Viewer may have in comparison. These limitations are important to consider.
-
-### Local File Access
-
-* The Standalone PDF Viewer control does not have the capability to directly access and load local physical files from a user's device. As a result, it is not possible to use a documentPath to load a PDF file directly from a local server within the viewer.
-
-* The Standalone PDF Viewer allows users to export annotations and form fields from the viewer, it's important to be aware that the viewer does not support the direct import of annotations and form fields from a locally specified file path. In other words, you can extract annotations and form fields from the viewer, but you cannot reintroduce them into the viewer from external sources by specifying a file path located on your local device.
-
-N> These limitations are temporary and are expected to be addressed in the near future.
\ No newline at end of file
+> You can refer to our [React PDF Viewer](https://www.syncfusion.com/react-components/react-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [React PDF Viewer example](https://ej2.syncfusion.com/react/demos/#/material/pdfviewer/default) to understand how to explains core features of PDF Viewer.
\ No newline at end of file
diff --git a/ej2-react/pdfviewer/toolbar.md b/ej2-react/pdfviewer/toolbar.md
index 37301abc1..861a1ec2b 100644
--- a/ej2-react/pdfviewer/toolbar.md
+++ b/ej2-react/pdfviewer/toolbar.md
@@ -28,9 +28,9 @@ The following table shows built-in toolbar items and its actions:-
| AnnotationEditTool | This tool provides options to enable or disable the edit mode of annotation in the PDF Viewer.|
| FormDesignerEditTool | This tool provides options to enable or disable the edit mode of form fields in the PDF Viewer.|
-### Show/Hide the default toolbar
+## Show/Hide the built-in toolbar
-The PDF Viewer has an option to show or hide the complete default toolbar. You can achieve this by using following two ways.,
+The PDF Viewer has an option to show or hide the complete built-in toolbar. You can achieve this by using following two ways.,
* **Show/Hide toolbar using enableToolbar API as in the following code snippet**
@@ -180,9 +180,9 @@ N> To set up the **server-backed PDF Viewer**, add the following `serviceUrl` wi
{% previewsample "page.domainurl/code-snippet/pdfviewer/base-cs3" %}
-### Show/Hide the default toolbaritem
+## Show/Hide the built-in toolbaritem
-The PDF Viewer has an option to show or hide these grouped items in the default toolbar.
+The PDF Viewer has an option to show or hide these grouped items in the built-in toolbar.
* **Show/Hide toolbaritem using toolbarSettings as in the following code snippet.**
@@ -527,7 +527,7 @@ N> When customizing toolbar items, you have the flexibility to include either ic
## Custom Toolbar
-The PDF Viewer provides API for user interactions options provided in it's built-in toolbar. Using this we can create our own User Interface for toolbar actions in application level by hiding the default toolbar. The following steps are used to create the custom toolbar for PDF Viewer,
+The PDF Viewer provides API for user interactions options provided in it's built-in toolbar. Using this we can create our own User Interface for toolbar actions in application level by hiding the built-in toolbar. The following steps are used to create the custom toolbar for PDF Viewer,
**Step 1:** Follow the steps provided in the [link](https://ej2.syncfusion.com/react/documentation/pdfviewer/getting-started/) to create simple PDF Viewer sample.
@@ -686,7 +686,7 @@ The PDF Viewer provides API for user interactions options provided in it's built
```
-**Step 4:** Hide the default toolbar of PDF Viewer using below code snippet,
+**Step 4:** Hide the built-in toolbar of PDF Viewer using below code snippet,
{% tabs %}
{% highlight js tabtitle="Standalone" %}
diff --git a/ej2-react/spreadsheet/filter.md b/ej2-react/spreadsheet/filter.md
index 757f68a42..1aceec399 100644
--- a/ej2-react/spreadsheet/filter.md
+++ b/ej2-react/spreadsheet/filter.md
@@ -85,6 +85,29 @@ When you want to reapply the filter after some changes happened in the rows. It
The following errors have been handled for filtering,
* *Out of range validation:* When the selected range is not a used range of the active sheet, it is considered as invalid and the out of range alert with the message `Select a cell or range inside the used range and try again` will be displayed. No filter will be performed if the range is invalid.
+## Get data from filtered rows
+
+Filtering allows you to view specific rows in a spreadsheet while hiding the others. The [`allowFiltering`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowfiltering) property allows you to enable or disable filtering functionality through the UI. You can also use the [`allowFiltering`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowfiltering) property and [`applyFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#applyfilter) method combination to filter data via code behind. The filtered rows can be identified by iterating through the row collection on the sheet and using the `isFiltered` property available in each row object.
+
+The following code example shows how to get the filtered rows.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/filter-cs2/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/filter-cs2/app/app.tsx %}
+{% endhighlight %}
+{% highlight js tabtitle="datasource.jsx" %}
+{% include code-snippet/spreadsheet/filter-cs2/app/datasource.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="datasource.tsx" %}
+{% include code-snippet/spreadsheet/filter-cs2/app/datasource.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/spreadsheet/filter-cs2" %}
+
## Limitations
The following features have some limitations in Filter:
diff --git a/ej2-react/spreadsheet/how-to/get-filtered-rows.md b/ej2-react/spreadsheet/how-to/get-filtered-rows.md
deleted file mode 100644
index 95bd8e5e8..000000000
--- a/ej2-react/spreadsheet/how-to/get-filtered-rows.md
+++ /dev/null
@@ -1,32 +0,0 @@
----
-layout: post
-title: Get the filtered rows in the React Spreadsheet component | Syncfusion
-description: Learn here all about how to get the filtered rows in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-## Get the filtered rows in React Spreadsheet component
-
-Filtering allows you to view specific rows in a spreadsheet while hiding the others. The [`allowFiltering`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowfiltering) property allows you to enable or disable filtering functionality through the UI. You can also use the [`allowFiltering`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#allowfiltering) property and [`applyFilter`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#applyfilter) method combination to filter data via code behind. The filtered rows can be identified by iterating through the row collection on the sheet and using the `isFiltered` property available in each row object.
-
-The following code example shows how to get the filtered rows.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/filter-cs2/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/filter-cs2/app/app.tsx %}
-{% endhighlight %}
-{% highlight js tabtitle="datasource.jsx" %}
-{% include code-snippet/spreadsheet/filter-cs2/app/datasource.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="datasource.tsx" %}
-{% include code-snippet/spreadsheet/filter-cs2/app/datasource.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
- {% previewsample "page.domainurl/code-snippet/spreadsheet/filter-cs2" %}
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/how-to/import-an-excel-document-using-file-uploader.md b/ej2-react/spreadsheet/how-to/import-an-excel-document-using-file-uploader.md
deleted file mode 100644
index b2b08ebc2..000000000
--- a/ej2-react/spreadsheet/how-to/import-an-excel-document-using-file-uploader.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
-title: Import an excel document using file uploader in the React Spreadsheet component | Syncfusion
-description: Learn here all about import an excel document using file uploader in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-## Import an excel document using file uploader in ##Platform_Name## Spreadsheet component
-
-If you explore your machine to select and upload an excel document using the file uploader, you will receive the uploaded document as a raw file in the [success](https://ej2.syncfusion.com/react/documentation/api/uploader/#success) event of the file uploader. In this `success` event, you should pass the received raw file as an argument to the Spreadsheet's [open](https://ej2.syncfusion.com/react/documentation//api/spreadsheet/#open) method to see the appropriate output.
-
-The following code example shows how to import an excel document using file uploader in spreadsheet.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/open-save-cs9/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/open-save-cs9/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
- {% previewsample "page.domainurl/code-snippet/spreadsheet/open-save-cs9" %}
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/how-to/insert-sheet-programmatically-and-make-it-the-active-sheet.md b/ej2-react/spreadsheet/how-to/insert-sheet-programmatically-and-make-it-the-active-sheet.md
deleted file mode 100644
index cdcc40dcb..000000000
--- a/ej2-react/spreadsheet/how-to/insert-sheet-programmatically-and-make-it-the-active-sheet.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-layout: post
-title: Insert a sheet programmatically and make the inserted sheet as the active sheet in the React Spreadsheet component | Syncfusion
-description: Learn here all about insert a sheet programmatically and make the inserted sheet as the active sheet in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-## Insert a sheet programmatically and make it the active sheet in React Spreadsheet component
-
-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.
-
-The following code example shows how to insert a sheet programmatically and make it the active sheet.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1" %}
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/how-to/print.md b/ej2-react/spreadsheet/how-to/print.md
deleted file mode 100644
index abf220339..000000000
--- a/ej2-react/spreadsheet/how-to/print.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: Print in React Spreadsheet component | Syncfusion
-description: Learn here all about Print in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Print
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Print in React Spreadsheet component
-
-You can use the `print` method by importing from ej2-base package. Here, the `Select` event in the dropdown and the `dataBound` event are used to print the single/multiple sheets of data. To print the single/multiple sheets, use the dropdown button and select the `Print` (or) `Print All` option. In the following sample, you can be able to print the single/multiple sheets.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/print-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/print-cs1/app/app.tsx %}
-{% endhighlight %}
-{% highlight js tabtitle="datasource.jsx" %}
-{% include code-snippet/spreadsheet/print-cs1/app/datasource.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="datasource.tsx" %}
-{% include code-snippet/spreadsheet/print-cs1/app/datasource.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
- {% previewsample "page.domainurl/code-snippet/spreadsheet/print-cs1" %}
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/how-to/save-and-open-spreadsheet-data-as-base64-string.md b/ej2-react/spreadsheet/how-to/save-and-open-spreadsheet-data-as-base64-string.md
deleted file mode 100644
index 8c5ad90cc..000000000
--- a/ej2-react/spreadsheet/how-to/save-and-open-spreadsheet-data-as-base64-string.md
+++ /dev/null
@@ -1,28 +0,0 @@
----
-layout: post
-title: Save and open Spreadsheet data as a Base64 string in the React Spreadsheet component | Syncfusion
-description: Learn here all about save and open Spreadsheet data as a Base64 string in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-## Save and open Spreadsheet data as a Base64 string in React Spreadsheet component
-
-In the Spreadsheet component, there is currently no direct option to save and open data as a `Base64` string. You can achieve this by saving the Spreadsheet data as blob data and then converting that saved blob data to a `Base64` string using `FileReader`.
-
-> You can get the Spreadsheet data as blob in the [saveComplete](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#savecomplete) event when you set the `needBlobData` as **true** and `isFullPost` as **false** in the [beforeSave](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#beforesave) event.
-
-The following code example shows how to save and open the spreadsheet data as base64 string.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/base-64-string/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/base-64-string/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "page.domainurl/code-snippet/spreadsheet/base-64-string" %}
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/how-to/sort-a-range-by-custom-list.md b/ej2-react/spreadsheet/how-to/sort-a-range-by-custom-list.md
deleted file mode 100644
index ab3d6cbf3..000000000
--- a/ej2-react/spreadsheet/how-to/sort-a-range-by-custom-list.md
+++ /dev/null
@@ -1,38 +0,0 @@
----
-layout: post
-title: Sort a range by custom list in React Spreadsheet component | Syncfusion
-description: Learn here all about Sort a range by custom list in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Sort a range by custom list
-platform: ej2-react
-documentation: ug
-domainurl: ##DomainURL##
----
-
-# Sort a range by custom list in React Spreadsheet component
-
-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`.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/custom-sort-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/custom-sort-cs1/app/app.tsx %}
-{% endhighlight %}
-{% highlight js tabtitle="datasource.jsx" %}
-{% include code-snippet/spreadsheet/custom-sort-cs1/app/datasource.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="datasource.tsx" %}
-{% include code-snippet/spreadsheet/custom-sort-cs1/app/datasource.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
- {% previewsample "page.domainurl/code-snippet/spreadsheet/custom-sort-cs1" %}
-
-## See Also
-
-* [Filtering](../filter)
-* [Sorting](../sort)
-* [Hyperlink](../link)
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/notes.md b/ej2-react/spreadsheet/notes.md
index 34c2b6f1f..c7e150656 100644
--- a/ej2-react/spreadsheet/notes.md
+++ b/ej2-react/spreadsheet/notes.md
@@ -99,4 +99,5 @@ The notes can be added initially when the Spreadsheet loads using cell data bind
* When importing the document with notes, the formatting of the content in the notes will not be available. Similarly, while adding notes, we cannot apply formatting to them.
* The style and appearance of the dialog box for the notes, including size, color, border, and other elements, cannot be directly changed.
-* Exporting the workbook along with notes is not supported in file formats such as Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf).
\ No newline at end of file
+* Exporting the workbook along with notes is not supported in file formats such as Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf).
+* Notes added outside the used ranges of the worksheet will not be included in the exported document.
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/open-save.md b/ej2-react/spreadsheet/open-save.md
index 78ebc3964..c18af7a97 100644
--- a/ej2-react/spreadsheet/open-save.md
+++ b/ej2-react/spreadsheet/open-save.md
@@ -93,6 +93,23 @@ You can open excel file into a read-only mode by using the [`openComplete`](http
{% previewsample "page.domainurl/code-snippet/spreadsheet/open-save-cs4" %}
+### Open an excel file using a file uploader
+
+If you explore your machine to select and upload an excel document using the file uploader, you will receive the uploaded document as a raw file in the [success](https://ej2.syncfusion.com/react/documentation/api/uploader/#success) event of the file uploader. In this `success` event, you should pass the received raw file as an argument to the Spreadsheet's [open](https://ej2.syncfusion.com/react/documentation//api/spreadsheet/#open) method to see the appropriate output.
+
+The following code example shows how to import an excel document using file uploader in spreadsheet.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/open-save-cs9/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/open-save-cs9/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/spreadsheet/open-save-cs9" %}
+
### Configure JSON deserialization options
Previously, when opening a workbook JSON object into the Spreadsheet using the [openFromJson](../api/spreadsheet/#openfromjson) method, the entire workbook, including all features specified in the JSON object, was processed and loaded into the Spreadsheet.
@@ -130,6 +147,23 @@ The following code snippet demonstrates how to configure the deserialization opt
{% previewsample "page.domainurl/code-snippet/spreadsheet/open-from-json" %}
+### Open an excel file from Base64 string data
+
+In the Syncfusion Spreadsheet component, there is no direct option to open data as a `Base64` string. To achieve this, the `import()` function fetches the `Base64` string, converts it to a Blob, creates a File object from the Blob, and then opens it using the [open](../api/spreadsheet/#open) method in the spreadsheet.
+
+The following code example shows how to open the spreadsheet data as base64 string.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/base-64-string/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/base-64-string/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/spreadsheet/base-64-string" %}
+
### External workbook confirmation dialog
When you open an excel file that contains external workbook references, you will see a confirmation dialog. This dialog allows you to either continue with the file opening or cancel the operation. This confirmation dialog will appear only if you set the `AllowExternalWorkbook` property value to **false** during the open request, as shown below. This prevents the spreadsheet from displaying inconsistent data.
@@ -316,6 +350,25 @@ The following code snippet demonstrates how to configure the serialization optio
{% previewsample "page.domainurl/code-snippet/spreadsheet/save-as-json" %}
+### To save data as a Base64 string
+
+In the Spreadsheet component, there is currently no direct option to save data as a `Base64` string. You can achieve this by saving the Spreadsheet data as blob data and then converting that saved blob data to a `Base64` string using `FileReader`.
+
+> You can get the Spreadsheet data as blob in the [saveComplete](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#savecomplete) event when you set the `needBlobData` as **true** and `isFullPost` as **false** in the [beforeSave](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#beforesave) event.
+
+The following code example shows how to save the spreadsheet data as base64 string.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/base-64-string/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/base-64-string/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/spreadsheet/base-64-string" %}
+
### Supported file formats
The following list of Excel file formats are supported in Spreadsheet:
diff --git a/ej2-react/spreadsheet/sort.md b/ej2-react/spreadsheet/sort.md
index 2b1b365af..730ed436c 100644
--- a/ej2-react/spreadsheet/sort.md
+++ b/ej2-react/spreadsheet/sort.md
@@ -141,7 +141,30 @@ By customizing sort comparer, you can define the sort action as desired.
> * The `sortComparer` is an optional property of `sortDescriptor`.
-For custom sort comparer example, refer to the [`Sort a range by custom list`](./how-to/sort-a-range-by-custom-list) in the `how-to` section.
+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`.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/custom-sort-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/custom-sort-cs1/app/app.tsx %}
+{% endhighlight %}
+{% highlight js tabtitle="datasource.jsx" %}
+{% include code-snippet/spreadsheet/custom-sort-cs1/app/datasource.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="datasource.tsx" %}
+{% include code-snippet/spreadsheet/custom-sort-cs1/app/datasource.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+ {% previewsample "page.domainurl/code-snippet/spreadsheet/custom-sort-cs1" %}
## Known error validations
@@ -162,7 +185,6 @@ You can refer to our [React Spreadsheet](https://www.syncfusion.com/react-ui-com
## See Also
-* [Sort a range by custom list](./how-to/sort-a-range-by-custom-list)
* [Hyperlink](../spreadsheet/link)
* [Filtering](../spreadsheet/filter)
* [Undo Redo](../spreadsheet/undo-redo)
\ No newline at end of file
diff --git a/ej2-react/spreadsheet/worksheet.md b/ej2-react/spreadsheet/worksheet.md
index d8b89cbd0..ebd34c064 100644
--- a/ej2-react/spreadsheet/worksheet.md
+++ b/ej2-react/spreadsheet/worksheet.md
@@ -39,6 +39,23 @@ The following code example shows the insert sheet operation in spreadsheet.
{% previewsample "page.domainurl/code-snippet/spreadsheet/insert-sheet-cs1" %}
+### 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.
+
+The following code example shows how to insert a sheet programmatically and make it the active sheet.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "page.domainurl/code-snippet/spreadsheet/insert-sheet-change-active-sheet-cs1" %}
+
## Delete sheet
The Spreadsheet has support for removing an existing worksheet. You can dynamically delete the existing sheet by the following way,