diff --git a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
new file mode 100644
index 0000000000..f652653737
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
@@ -0,0 +1,54 @@
+---
+layout: post
+title: Prevent actions without read-only and sheet protection in React Spreadsheet | Syncfusion
+description: Learn here all about to prevent actions without read-only and sheet protection in React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# How to prevent actions for specific cells without protecting the sheet or making it read-only in React Spreadsheet ?
+
+In Syncfusion React Spreadsheet, the [**read-only**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#make-cells-read-only-without-protecting-worksheet) feature makes a range of cells, rows, or columns completely non-editable and restricts all spreadsheet actions on those cells. Similarly, the [**sheet protection**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#protect-sheet) feature locks the entire sheet and restricts all spreadsheet actions on the sheet. It does not allow actions such as formatting cells, rows, or columns, selecting cells, or inserting hyperlinks—unless these options are explicitly enabled in the [`protectSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/protectsettingsmodel).
+
+If your requirement is to prevent actions (such as cut, paste, autofill, formatting, and validation) without locking the entire sheet using the [`protectSheet`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#protectsheet) method or making the cells read-only via the [`setRangeReadOnly`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#setrangereadonly) method, you can achieve this through event-based customization. This approach allows you to restrict specific actions on selected cells while keeping the rest of the sheet fully interactive.
+
+**Events to Use**
+To achieve this requirement, the following events can be used:
+
+* [`cellEdit`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#celledit) → To prevent editing for specific cells.
+* [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#actionbegin)→ To prevent spreadsheet actions such as cut, paste, autofill, formatting, etc.
+
+**Step 1: Prevent editing for specific cells**
+
+To prevent editing for specific cells, use the [`cellEdit`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#celledit) event, which triggers whenever a cell enters edit mode. By checking the column index and setting `args.cancel = true`, you can prevent editing for those columns. This ensures that users cannot modify the cell content in those columns.
+
+**Step 2: Prevent specfic spreadsheet actions**
+
+To prevent specfic action after preventing the cell edting, you need to use the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#actionbegin) event. This event triggers before any action starts (such as cut, paste, autofill, formatting, etc.). In this event:
+
+* Fetch the target address based on the type of action being performed using `args.action` property.
+* Verify if the target range includes the restricted columns.
+* If the column is in the restricted list, cancel the action by setting `args.cancel = true`.
+
+This approach ensures that spreadsheet actions such as cut, paste, autofill, formatting, validation, and conditional formatting are prevented for specific cells without protecting the sheet or making the cells read-only.
+
+ > **Note:** In this example, we use column indexes to restrict actions. You can also use row indexes or cell addresses for the same purpose.
+
+The following example demonstrates how to prevent actions such as cut, paste, autofill, formatting, validation, and conditional formatting for specific cells in the spreadsheet without protecting the sheet or making the cells read-only. You can also restrict additional actions by following the same approach.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/prevent-actions-cs1" %}
+
+## See Also
+
+* [Protection](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet)
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx
new file mode 100644
index 0000000000..4ef29bfd7c
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx
@@ -0,0 +1,75 @@
+import * as React from 'react';
+import { createRoot } from 'react-dom/client';
+import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective } from '@syncfusion/ej2-react-spreadsheet';
+import { RangeDirective, ColumnsDirective, ColumnDirective, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
+import { data } from './datasource';
+
+function App() {
+ const spreadsheetRef = React.useRef(null);
+ // Columns to be prevented editing.
+ const readOnlyColumns = [0,2];
+
+ const cellEdit = (args) =>{
+ var addressRange = getRangeIndexes(args.address);
+ // preventing cellEditing from the readOnly columns
+ if (readOnlyColumns.includes(addressRange[1]) || readOnlyColumns.includes(addressRange[3])) {
+ args.cancel = true;
+ }
+ }
+
+ // Triggers whenever any action begins in spreadsheet.
+ const actionBegin = (args) =>{
+ var address;
+ if (args.action == "clipboard") {
+ address = args.args.eventArgs.pastedRange;
+ }
+ else if (args.action == "autofill") {
+ address = args.args.eventArgs.fillRange;
+ }
+ else if (args.action == "format" || args.action == "validation" || args.action == "conditionalFormat") {
+ address = args.args.eventArgs.range;
+ }
+ else if (args.action == "cut") {
+ address = args.args.copiedRange
+ }
+ if (address) {
+ var addressRange = getRangeIndexes(address);
+ var colStart = addressRange[1];
+ var colEnd = addressRange[3];
+ // preventing other actions from the readOnly columns
+ for (var col = colStart; col <= colEnd; col++) {
+ if (readOnlyColumns.includes(col)) {
+ if (args.args.action == "cut") {
+ args.args.cancel = true;
+ } else {
+ args.args.eventArgs.cancel = true;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+export default App;
+
+const root = createRoot(document.getElementById('root'));
+root.render();
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx
new file mode 100644
index 0000000000..0cad9cd86e
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx
@@ -0,0 +1,75 @@
+import * as React from 'react';
+import { createRoot } from 'react-dom/client';
+import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective } from '@syncfusion/ej2-react-spreadsheet';
+import { RangeDirective, ColumnsDirective, ColumnDirective, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
+import { data } from './datasource';
+
+function App() {
+ const spreadsheetRef = React.useRef(null);
+ // Columns to be prevented editing.
+ const readOnlyColumns = [0,2];
+
+ const cellEdit = (args: any) =>{
+ var addressRange = getRangeIndexes(args.address);
+ // preventing cellEditing from the readOnly columns
+ if (readOnlyColumns.includes(addressRange[1]) || readOnlyColumns.includes(addressRange[3])) {
+ args.cancel = true;
+ }
+ }
+
+ // Triggers whenever any action begins in spreadsheet.
+ const actionBegin = (args: any) =>{
+ var address: any;
+ if (args.action == "clipboard") {
+ address = args.args.eventArgs.pastedRange;
+ }
+ else if (args.action == "autofill") {
+ address = args.args.eventArgs.fillRange;
+ }
+ else if (args.action == "format" || args.action == "validation" || args.action == "conditionalFormat") {
+ address = args.args.eventArgs.range;
+ }
+ else if (args.action == "cut") {
+ address = args.args.copiedRange
+ }
+ if (address) {
+ var addressRange = getRangeIndexes(address);
+ var colStart = addressRange[1];
+ var colEnd = addressRange[3];
+ // preventing other actions from the readOnly columns
+ for (var col = colStart; col <= colEnd; col++) {
+ if (readOnlyColumns.includes(col)) {
+ if (args.args.action == "cut") {
+ args.args.cancel = true;
+ } else {
+ args.args.eventArgs.cancel = true;
+ }
+ break;
+ }
+ }
+ }
+ }
+
+ return (
+
+
+
+
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js
new file mode 100644
index 0000000000..d93d37d6fc
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js
@@ -0,0 +1,58 @@
+System.config({
+ transpiler: "ts",
+ typescriptOptions: {
+ target: "es5",
+ module: "commonjs",
+ moduleResolution: "node",
+ emitDecoratorMetadata: true,
+ experimentalDecorators: true,
+ "jsx": "react"
+ },
+ meta: {
+ 'typescript': {
+ "exports": "ts"
+ }
+ },
+ paths: {
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/31.2.12/"
+ },
+ map: {
+ app: 'app',
+ ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js",
+ typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
+ "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
+ "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
+ "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
+ "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
+ "@syncfusion/ej2-notifications": "syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
+ "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
+ "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
+ "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
+ "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
+ "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
+ "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
+ "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
+ "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
+ "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
+ "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
+ "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
+ "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
+ "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
+ "@syncfusion/ej2-spreadsheet": "syncfusion:ej2-spreadsheet/dist/ej2-spreadsheet.umd.min.js",
+ "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js",
+ "@syncfusion/ej2-react-spreadsheet": "syncfusion:ej2-react-spreadsheet/dist/ej2-react-spreadsheet.umd.min.js",
+ "react-dom/client": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js",
+ "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js",
+ "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js",
+
+ },
+ packages: {
+ 'app': { main: 'app', defaultExtension: 'tsx' },
+ }
+
+});
+
+System.import('app');
+
+
+
From 174af871495cb8ad07c9a5975b783de5e4262a46 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Mon, 1 Dec 2025 18:59:38 +0530
Subject: [PATCH 002/345] 991939: How to prevent Spreadsheet actions for the
specific cells without protecting the sheet or making cells read-only
---
.../Excel/Spreadsheet/React/how-to/prevent-actions.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
index f652653737..a0452fbb89 100644
--- a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
+++ b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
@@ -1,13 +1,13 @@
---
layout: post
-title: Prevent actions without read-only and sheet protection in React Spreadsheet | Syncfusion
+title: Prevent actions without read-only and sheet protection in Spreadsheet | Syncfusion
description: Learn here all about to prevent actions without read-only and sheet protection in React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
documentation: ug
---
-# How to prevent actions for specific cells without protecting the sheet or making it read-only in React Spreadsheet ?
+# Prevent actions without read-Only and sheet protection in React Spreadsheet
In Syncfusion React Spreadsheet, the [**read-only**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#make-cells-read-only-without-protecting-worksheet) feature makes a range of cells, rows, or columns completely non-editable and restricts all spreadsheet actions on those cells. Similarly, the [**sheet protection**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#protect-sheet) feature locks the entire sheet and restricts all spreadsheet actions on the sheet. It does not allow actions such as formatting cells, rows, or columns, selecting cells, or inserting hyperlinks—unless these options are explicitly enabled in the [`protectSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/protectsettingsmodel).
@@ -23,9 +23,9 @@ To achieve this requirement, the following events can be used:
To prevent editing for specific cells, use the [`cellEdit`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#celledit) event, which triggers whenever a cell enters edit mode. By checking the column index and setting `args.cancel = true`, you can prevent editing for those columns. This ensures that users cannot modify the cell content in those columns.
-**Step 2: Prevent specfic spreadsheet actions**
+**Step 2: Prevent specific spreadsheet actions**
-To prevent specfic action after preventing the cell edting, you need to use the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#actionbegin) event. This event triggers before any action starts (such as cut, paste, autofill, formatting, etc.). In this event:
+To prevent specific action after preventing the cell editing, you need to use the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#actionbegin) event. This event triggers before any action starts (such as cut, paste, autofill, formatting, etc.). In this event:
* Fetch the target address based on the type of action being performed using `args.action` property.
* Verify if the target range includes the restricted columns.
From d6a56aa5ccb040ce1e4a3e1c34f43cdc49995ed2 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Mon, 1 Dec 2025 19:17:12 +0530
Subject: [PATCH 003/345] 991939: How to prevent Spreadsheet actions for the
specific cells without protecting the sheet or making cells read-only
---
.../Excel/Spreadsheet/React/how-to/prevent-actions.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
index a0452fbb89..e7be7ca9be 100644
--- a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
+++ b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
@@ -7,7 +7,7 @@ platform: document-processing
documentation: ug
---
-# Prevent actions without read-Only and sheet protection in React Spreadsheet
+# Prevent actions without read-only and protection in React Spreadsheet
In Syncfusion React Spreadsheet, the [**read-only**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#make-cells-read-only-without-protecting-worksheet) feature makes a range of cells, rows, or columns completely non-editable and restricts all spreadsheet actions on those cells. Similarly, the [**sheet protection**](https://help.syncfusion.com/document-processing/excel/spreadsheet/react/protect-sheet#protect-sheet) feature locks the entire sheet and restricts all spreadsheet actions on the sheet. It does not allow actions such as formatting cells, rows, or columns, selecting cells, or inserting hyperlinks—unless these options are explicitly enabled in the [`protectSettings`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/protectsettingsmodel).
From 91922b501dae955f51d6988f0c9239ba6f7066c9 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Mon, 1 Dec 2025 19:27:36 +0530
Subject: [PATCH 004/345] 991939: How to prevent Spreadsheet actions for the
specific cells without protecting the sheet or making cells read-only
---
.../Excel/Spreadsheet/React/how-to/prevent-actions.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
index e7be7ca9be..58055650da 100644
--- a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
+++ b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
@@ -1,6 +1,6 @@
---
layout: post
-title: Prevent actions without read-only and sheet protection in Spreadsheet | Syncfusion
+title: Prevent actions without read-only and sheet protection | Syncfusion
description: Learn here all about to prevent actions without read-only and sheet protection in React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
From 56c2d45c2304bdf4b0fa5fe3b386776a75f9d917 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Fri, 30 Jan 2026 13:40:32 +0530
Subject: [PATCH 005/345] 991939: Review corrections addressed.
---
.../Excel/Spreadsheet/React/how-to/prevent-actions.md | 2 +-
.../spreadsheet/react/prevent-actions-cs1/app/app.jsx | 7 ++++---
.../spreadsheet/react/prevent-actions-cs1/app/app.tsx | 7 ++++---
.../react/prevent-actions-cs1/systemjs.config.js | 2 +-
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
index 58055650da..8e454f27f4 100644
--- a/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
+++ b/Document-Processing/Excel/Spreadsheet/React/how-to/prevent-actions.md
@@ -35,7 +35,7 @@ This approach ensures that spreadsheet actions such as cut, paste, autofill, for
> **Note:** In this example, we use column indexes to restrict actions. You can also use row indexes or cell addresses for the same purpose.
-The following example demonstrates how to prevent actions such as cut, paste, autofill, formatting, validation, and conditional formatting for specific cells in the spreadsheet without protecting the sheet or making the cells read-only. You can also restrict additional actions by following the same approach.
+The following example demonstrates how to prevent actions such as cut, paste, autofill, formatting, validation, and conditional formatting for specific cells(in the first and third columns) in the spreadsheet without protecting the sheet or making the cells read-only. You can also restrict additional actions by following the same approach.
{% tabs %}
{% highlight js tabtitle="app.jsx" %}
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx
index 4ef29bfd7c..4e7630f1b2 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.jsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import { createRoot } from 'react-dom/client';
import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective } from '@syncfusion/ej2-react-spreadsheet';
-import { RangeDirective, ColumnsDirective, ColumnDirective, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
+import { RangeDirective, ColumnsDirective, ColumnDirective, getCellIndexes, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
import { data } from './datasource';
function App() {
@@ -9,10 +9,11 @@ function App() {
// Columns to be prevented editing.
const readOnlyColumns = [0,2];
+ // Triggers when cell editing starts in the spreadsheet.
const cellEdit = (args) =>{
- var addressRange = getRangeIndexes(args.address);
+ var addressRange = getCellIndexes(args.address.split('!')[1]);
// preventing cellEditing from the readOnly columns
- if (readOnlyColumns.includes(addressRange[1]) || readOnlyColumns.includes(addressRange[3])) {
+ if (readOnlyColumns.includes(addressRange[1])) {
args.cancel = true;
}
}
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx
index 0cad9cd86e..15fbbec743 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/app/app.tsx
@@ -1,7 +1,7 @@
import * as React from 'react';
import { createRoot } from 'react-dom/client';
import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective } from '@syncfusion/ej2-react-spreadsheet';
-import { RangeDirective, ColumnsDirective, ColumnDirective, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
+import { RangeDirective, ColumnsDirective, ColumnDirective, getCellIndexes, getRangeIndexes } from '@syncfusion/ej2-react-spreadsheet';
import { data } from './datasource';
function App() {
@@ -9,10 +9,11 @@ function App() {
// Columns to be prevented editing.
const readOnlyColumns = [0,2];
+ // Triggers when cell editing starts in the spreadsheet.
const cellEdit = (args: any) =>{
- var addressRange = getRangeIndexes(args.address);
+ var addressRange = getCellIndexes(args.address.split('!')[1]);
// preventing cellEditing from the readOnly columns
- if (readOnlyColumns.includes(addressRange[1]) || readOnlyColumns.includes(addressRange[3])) {
+ if (readOnlyColumns.includes(addressRange[1])) {
args.cancel = true;
}
}
diff --git a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js
index d93d37d6fc..9290509c4a 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/prevent-actions-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/31.2.12/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
},
map: {
app: 'app',
From 5eae26fa6f365ff1303102219b512f05f0113168 Mon Sep 17 00:00:00 2001
From: Deira-SF4418
Date: Tue, 3 Mar 2026 19:03:00 +0530
Subject: [PATCH 006/345] 1013936: Need to include new UG section on how to
deploy spreadsheet server to AWS EKS using Docker
---
...eadsheet-server-to-aws-eks-using-docker.md | 125 ++++++++++++++++++
1 file changed, 125 insertions(+)
create mode 100644 Document-Processing/Excel/Spreadsheet/React/Server-Deployment/deploy-spreadsheet-server-to-aws-eks-using-docker.md
diff --git a/Document-Processing/Excel/Spreadsheet/React/Server-Deployment/deploy-spreadsheet-server-to-aws-eks-using-docker.md b/Document-Processing/Excel/Spreadsheet/React/Server-Deployment/deploy-spreadsheet-server-to-aws-eks-using-docker.md
new file mode 100644
index 0000000000..acd320e2bc
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/Server-Deployment/deploy-spreadsheet-server-to-aws-eks-using-docker.md
@@ -0,0 +1,125 @@
+---
+layout: post
+title: How to deploy spreadsheet server to AWS EKS using Docker in React Spreadsheet component | Syncfusion
+description: Learn how to deploy the Syncfusion Spreadsheet server Docker image to AWS EKS and connect it to the React Spreadsheet component.
+control: How to deploy spreadsheet server to AWS EKS using Docker
+platform: document-processing
+documentation: ug
+domainurl: ##DomainURL##
+---
+
+# How to deploy spreadsheet server to AWS EKS using Docker in React Spreadsheet component
+
+## Prerequisites
+
+* `AWS account` and [`AWS CLI`](https://aws.amazon.com/cli/) installed and configured.
+* [`kubectl`](https://kubernetes.io/docs/tasks/tools/) installed and configured.
+* Access to an existing EKS cluster, or you can create one via the AWS console or CLI.
+* Docker installed if you plan to build and push a custom image.
+
+**Step 1:** Configure your environment
+Ensure `kubectl` is pointing to the EKS cluster and nodes are Ready. Run the following command to authenticate and configure kubectl for your cluster.
+
+```bash
+
+aws configure # enter your Access Key, Secret Key, region, and output format (e.g., json)
+aws eks update-kubeconfig --region --name
+kubectl get nodes # verify that your cluster nodes are ready
+
+```
+
+**Step 2:** Create the Deployment
+Create a file named spreadsheet-deployment.yaml defining a deployment for the Syncfusion® container. The container listens on port `8080`:
+
+```yaml
+
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: spreadsheet-server
+ labels:
+ app: spreadsheet-server
+spec:
+ replicas: 1 # Increase to 2 or more for higher availability
+ selector:
+ matchLabels:
+ app: spreadsheet-server
+ template:
+ metadata:
+ labels:
+ app: spreadsheet-server
+ spec:
+ containers:
+ - name: spreadsheet-server
+ image: syncfusion/spreadsheet-server:latest
+ ports:
+ - containerPort: 8080
+ env:
+ - name: SYNCFUSION_LICENSE_KEY
+ value: "YOUR_LICENSE_KEY"
+
+```
+
+N> If you build a custom image, push it to Docker Hub or AWS ECR and update `image:` field accordingly.
+
+**Step 3:** Expose the Service
+Create a s`preadsheet-service.yaml` to define a Service of type `LoadBalancer` that forwards traffic to the container. Customize the external port (5000) as needed; the internal `targetPort` should remain 8080 because the container listens on that port.
+
+```yaml
+
+apiVersion: v1
+kind: Service
+metadata:
+ name: spreadsheet-server-service
+spec:
+ selector:
+ app: spreadsheet-server
+ type: LoadBalancer
+ ports:
+ - protocol: TCP
+ port: 5000 # External port exposed by the load balancer
+ targetPort: 8080 # Internal container port
+
+```
+
+**Step 4:** Deploy to EKS
+1. Apply the manifests:
+
+```bash
+
+kubectl apply -f spreadsheet-deployment.yaml
+kubectl apply -f spreadsheet-service.yaml
+
+```
+
+2. Use the kubectl get pods command to monitor pod status. To retrieve the external address, run:
+
+```bash
+
+kubectl get svc spreadsheet-server-service
+
+```
+
+3. Retrieve the external address from the Service output. Use `https://` only if the Load Balancer is configured with TLS (use ACM for certificates).
+
+**Step 5:** Configure the React client
+
+Start by following the steps provided in this [link](../getting-started.md) to create a simple Document Editor sample in React. This will give you a basic setup of the Document Editor component. Once the Service reports an external address (e.g., a1b2c3d4e5f6-1234567890.us-east-1.elb.amazonaws.com), update the [`openUrl`](https://helpej2.syncfusion.com/react/documentation/api/spreadsheet/#openurl) and [`saveUrl`](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/#saveurl) properties of your React Spreadsheet component:
+
+```jsx
+
+
+
+```
+
+N> Use `https://` if your Load Balancer has TLS configured.
+
+**Step 6:** Scaling and customization
+- `Scale replicas:` To handle a higher workload, you can scale your deployment by increasing the replicas count in your `spreadsheet-deployment.yaml` file and then run `kubectl apply -f spreadsheet-deployment.yaml` to apply the changes. Kubernetes will automatically manage the distribution of traffic across the pods.
+- `Resource limits:` Define `resources.requests`, and `resources.limits` in the container spec to allocate CPU and memory appropriately.
+- `Environment variables:` In addition to SYNCFUSION_LICENSE_KEY, you can set other configuration keys (e.g., culture) using the env: section in the deployment manifest without modifying the docker image.
+
+For more information on deploying Spreadsheet docker image kindly refer to this [`Blog`](https://www.syncfusion.com/blogs/post/spreadsheet-docker-image-deployment)
\ No newline at end of file
From 796cf1ed6d33120751e74b723d781b03d4b65c02 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Fri, 6 Mar 2026 19:14:49 +0530
Subject: [PATCH 007/345] 1014682: updated limitation details
---
.../Excel/Spreadsheet/React/cell-range.md | 28 ++++++++++---------
.../Excel/Spreadsheet/React/clipboard.md | 11 +++++---
.../Excel/Spreadsheet/React/comment.md | 9 +++++-
3 files changed, 30 insertions(+), 18 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/cell-range.md b/Document-Processing/Excel/Spreadsheet/React/cell-range.md
index 3720d6febe..2852bf0994 100644
--- a/Document-Processing/Excel/Spreadsheet/React/cell-range.md
+++ b/Document-Processing/Excel/Spreadsheet/React/cell-range.md
@@ -11,7 +11,7 @@ documentation: ug
A group of cells in a sheet is known as cell range.
-To get start quickly with Cell Range, you can check on this video:
+To get started quickly with Cell Range, you can check on this video:
{% youtube "https://www.youtube.com/watch?v=izgXkfzUMBQ" %}
@@ -44,12 +44,12 @@ The following code example shows the wrap text functionality in spreadsheet.
{% previewsample "/document-processing/code-snippet/spreadsheet/react/wrap-cs1" %}
-### Limitations of Wrap text
+### Limitations
-The following features have some limitations in wrap text:
+The following features have some limitations when using wrap text:
-* Sorting with wrap text applied data.
-* Merge with wrap text
+- **Sorting:** Sorting data that contains wrapped text may not auto-adjust row heights after the sort.
+- **Merge cells:** Wrap text behavior inside merged cells may be inconsistent and row height may not update correctly.
## Merge cells
@@ -89,12 +89,13 @@ The following code example shows the merge cells operation in spreadsheet.
{% previewsample "/document-processing/code-snippet/spreadsheet/react/merge-cs1" %}
-### Limitations of Merge
+### Limitations
-The following features have some limitations in Merge:
+The following features have some limitations when using merged cells:
-* Merge with filter.
-* Merge with wrap text.
+- **Filter:** Merged cells are not fully compatible with filtering and may prevent proper filter behavior.
+- **Wrap text:** Wrapped text inside merged cells may not render or adjust row height correctly.
+- **Copy/Paste and Autofill:** Operations that span merged regions may be limited or behave unexpectedly.
## Auto Fill
@@ -176,12 +177,13 @@ In the following sample, you can enable/disable the fill option on the button cl
{% previewsample "/document-processing/code-snippet/spreadsheet/react/autofill-cs1" %}
-### Limitations of Autofill
+### Limitations
-The following features have some limitations in Autofill:
+The following features have some limitations in Auto Fill:
-* Flash Fill option in Autofill feature.
-* Fill with Conditional Formatting applied cells.
+- **Flash Fill:** The Flash Fill feature is not supported in the Auto Fill workflow.
+- **Conditional formatting:** Filling cells that have conditional formatting may not preserve or apply rules exactly as expected.
+- **Merged cells:** Auto Fill operations involving merged cells may be limited or behave inconsistently.
## Clear
diff --git a/Document-Processing/Excel/Spreadsheet/React/clipboard.md b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
index dc24e7f009..c280a96afd 100644
--- a/Document-Processing/Excel/Spreadsheet/React/clipboard.md
+++ b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
@@ -99,10 +99,13 @@ The following example shows, how to prevent the paste action in spreadsheet. In
## Limitations
-* External clipboard is not fully supported while copying data from another source and pasting into a spreadsheet, it only works with basic supports (Values, Number, cell, and Text formatting).
-* If you copy =SUM(A2,B2) and paste, the formula reference will change depending on the pasted cell address but we don't have support for nested formula(formula reference will be same).
-* Clipboard is not supported with conditional formatting (values only pasting).
-* We have limitation while copying the whole sheet data and pasting it into another sheet.
+- **External clipboard:** Copying from external sources (web pages, other apps) only supports basic content — values, numbers, plain text and simple cell formatting. Rich HTML, images, embedded objects, and complex formatting are not preserved.
+- **Formulas:** Formulas such as `=SUM(A2,B2)` update their cell references relative to the paste location. Copying nested or workbook-scoped formulas may not preserve references correctly when pasted across different sheets or workbooks.
+- **Conditional formatting:** Clipboard operations do not preserve conditional formatting rules; only values (or basic formats via Paste Special) are applied.
+- **Whole-sheet copy/paste:** Copying an entire sheet and pasting into another sheet has limitations and may not retain some sheet-level settings (for example, named ranges, certain sheet-level formats, or merged regions).
+- **Merged cells:** Cut/copy/paste operations that involve merged cells may behave inconsistently or be restricted.
+- **Data validation and charts:** Pasting into cells with data validation or chart sources may not preserve validation rules or linked chart data.
+- **Browser/Platform clipboard restrictions:** Browser or OS security restrictions can limit programmatic clipboard access; keyboard shortcuts (`Ctrl+C`, `Ctrl+V`) are more reliable in some environments.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/comment.md b/Document-Processing/Excel/Spreadsheet/React/comment.md
index 90cc3ce02e..675e8a7772 100644
--- a/Document-Processing/Excel/Spreadsheet/React/comment.md
+++ b/Document-Processing/Excel/Spreadsheet/React/comment.md
@@ -188,12 +188,19 @@ In the below sample, comments are added to a specific cell using cell data bindi
* **Author Identity**: The author name for each comment and reply is static once set. When exporting, the author information is preserved for all comments, even if multiple authors exist in the workbook.
* **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.
+## Limitations
+- **Un-posted comments are not stored**: Text entered in the comment editor is discarded unless you click **Post**; drafts are not persisted.
+- **One thread per cell**: Each cell supports a single comment thread. New remarks should be added as replies within the existing thread.
+- **Comments and Notes cannot coexist**: If a cell contains a comment thread, you cannot add a note to that same cell, and vice versa.
+- **Author identity is client-provided**: The control does not authenticate users. Set the `author` property in your app to tag comments; otherwise "Guest User" is shown by default.
+- **Print and export rendering**: Comments and the Comments review pane are not included in print output or some export flows.
+- **Performance considerations**: Very large numbers of comment threads may impact UI responsiveness; for heavy workloads, consider batching updates or virtualized rendering.
+
## See Also
* [Notes](./notes)
* [Hyperlink](./link)
\ No newline at end of file
From 7b6b50bf11a0629db0862a561b1c11bcd8da208c Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Mon, 9 Mar 2026 11:32:26 +0530
Subject: [PATCH 008/345] 1014682: updated limitation details
---
.../Excel/Spreadsheet/React/comment.md | 14 +++++++------
.../Spreadsheet/React/data-validation.md | 13 ++++++------
.../Excel/Spreadsheet/React/editing.md | 3 ++-
.../Excel/Spreadsheet/React/filter.md | 8 +++----
.../Excel/Spreadsheet/React/formatting.md | 20 +++++++-----------
.../Excel/Spreadsheet/React/freeze-pane.md | 4 ++--
.../Excel/Spreadsheet/React/illustrations.md | 21 +++++++++----------
.../Excel/Spreadsheet/React/link.md | 2 +-
.../Excel/Spreadsheet/React/notes.md | 8 +++----
.../Excel/Spreadsheet/React/print.md | 7 ++++---
.../Excel/Spreadsheet/React/protect-sheet.md | 5 +++--
.../Spreadsheet/React/rows-and-columns.md | 10 ++++-----
.../Excel/Spreadsheet/React/searching.md | 2 +-
.../Excel/Spreadsheet/React/selection.md | 3 ++-
.../Excel/Spreadsheet/React/sort.md | 2 +-
15 files changed, 60 insertions(+), 62 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/comment.md b/Document-Processing/Excel/Spreadsheet/React/comment.md
index 675e8a7772..e357956d15 100644
--- a/Document-Processing/Excel/Spreadsheet/React/comment.md
+++ b/Document-Processing/Excel/Spreadsheet/React/comment.md
@@ -194,12 +194,14 @@ In the below sample, comments are added to a specific cell using cell data bindi
* **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.
## Limitations
-- **Un-posted comments are not stored**: Text entered in the comment editor is discarded unless you click **Post**; drafts are not persisted.
-- **One thread per cell**: Each cell supports a single comment thread. New remarks should be added as replies within the existing thread.
-- **Comments and Notes cannot coexist**: If a cell contains a comment thread, you cannot add a note to that same cell, and vice versa.
-- **Author identity is client-provided**: The control does not authenticate users. Set the `author` property in your app to tag comments; otherwise "Guest User" is shown by default.
-- **Print and export rendering**: Comments and the Comments review pane are not included in print output or some export flows.
-- **Performance considerations**: Very large numbers of comment threads may impact UI responsiveness; for heavy workloads, consider batching updates or virtualized rendering.
+
+- Only posted comments are saved. If you close the editor without posting, the text is lost.
+- Each cell can have only one comment thread. Add new notes as replies in that thread.
+- Replies are flat. You cannot reply to a reply (no nested replies).
+- When a thread is resolved, the reply box and some actions are hidden.
+- A cell cannot have both a comment and a note at the same time.
+- The control does not provide real-time live collaboration (no automatic multi-user sync).
+- The app must provide the author name, when exporting and re-importing the workbook, the author information for each comment and reply is preserved.
## See Also
* [Notes](./notes)
diff --git a/Document-Processing/Excel/Spreadsheet/React/data-validation.md b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
index ef58cc13cd..32f95229c1 100644
--- a/Document-Processing/Excel/Spreadsheet/React/data-validation.md
+++ b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
@@ -89,14 +89,13 @@ The following code example demonstrates how to add custom data validation with a
{% previewsample "/document-processing/code-snippet/spreadsheet/react/data-validation-cs2" %}
-## Limitations of Data validation
+## Limitations
-The following features have some limitations in Data Validation:
-
-* Entire row data validation.
-* Insert row between the data validation.
-* Copy/paste with data validation.
-* Delete cells between data validation applied range.
+- Applying validation to whole rows or whole columns can be slow or unreliable.
+- Inserting rows or columns inside a validated range may not copy the rule to the new rows/columns.
+- Copying and pasting cells can overwrite or remove validation.
+- Deleting cells inside a validated area can move or remove validation rules unexpectedly.
+- Validation on merged cells may not work correctly.
## See Also
diff --git a/Document-Processing/Excel/Spreadsheet/React/editing.md b/Document-Processing/Excel/Spreadsheet/React/editing.md
index 7a11ac80fa..a43bcaed2a 100644
--- a/Document-Processing/Excel/Spreadsheet/React/editing.md
+++ b/Document-Processing/Excel/Spreadsheet/React/editing.md
@@ -61,7 +61,8 @@ The following sample shows how to prevent the editing and cell save. Here `E` co
## Limitations
-* Text overflow in cells is not supported in Editing.
+- Text overflow in cells is not supported in Editing.
+- Very large amounts of text or many quick edits may slow the spreadsheet.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/filter.md b/Document-Processing/Excel/Spreadsheet/React/filter.md
index 9e1e7cd207..9a2a591a56 100644
--- a/Document-Processing/Excel/Spreadsheet/React/filter.md
+++ b/Document-Processing/Excel/Spreadsheet/React/filter.md
@@ -109,11 +109,9 @@ The following code example shows how to get the filtered rows.
## Limitations
-The following features have some limitations in Filter:
-
-* Insert/delete row/column between the filter applied cells.
-* Merge cells with filter.
-* Copy/cut paste the filter applied cells.
+- Inserting or deleting rows/columns where a filter is applied can change or remove the filter.
+- Filters do not work well on merged cells.
+- Copying or cutting and pasting filtered cells may not keep the filter and can paste hidden rows.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/formatting.md b/Document-Processing/Excel/Spreadsheet/React/formatting.md
index 578dbd209a..cb70119374 100644
--- a/Document-Processing/Excel/Spreadsheet/React/formatting.md
+++ b/Document-Processing/Excel/Spreadsheet/React/formatting.md
@@ -245,12 +245,10 @@ The following code example shows the style formatting in text and cells of the s
{% previewsample "/document-processing/code-snippet/spreadsheet/react/cellformat-cs1" %}
-### Limitations of Formatting
+### Limitations
-The following features are not supported in Formatting:
-
-* Insert row/column between the formatting applied cells.
-* Formatting support for row/column.
+- Inserting or deleting rows/columns where formatting is applied can change or remove the formatting.
+- Applying formatting to whole rows or whole columns may not work well.
## Conditional Formatting
@@ -348,14 +346,12 @@ You can clear the defined rules by using one of the following ways,
{% previewsample "/document-processing/code-snippet/spreadsheet/react/conditional-formatting-cs1" %}
-### Limitations of Conditional formatting
-
-The following features have some limitations in Conditional Formatting:
+### Limitations
-* Insert row/column between the conditional formatting.
-* Conditional formatting with formula support.
-* Copy and paste the conditional formatting applied cells.
-* Custom rule support.
+- Inserting or deleting rows/columns inside a conditional formatted range can remove or shift the rules.
+- Conditional formats that use complex formulas may not work in every case.
+- Copying and pasting cells may not keep conditional formatting.
+- Some custom conditional rules are not supported.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
index a03f48d83a..793d215679 100644
--- a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
+++ b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
@@ -69,8 +69,8 @@ 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.
-* If images and charts are added inside the freeze area cells, their portion in the unfreeze area will not move when scrolling.
+- Merged cells across the frozen and unfrozen areas may not work correctly.
+- 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/illustrations.md b/Document-Processing/Excel/Spreadsheet/React/illustrations.md
index 9af8640aff..49894089a1 100644
--- a/Document-Processing/Excel/Spreadsheet/React/illustrations.md
+++ b/Document-Processing/Excel/Spreadsheet/React/illustrations.md
@@ -85,12 +85,12 @@ Image feature allows you to view and insert an image in a spreadsheet, and you c
{% previewsample "/document-processing/code-snippet/spreadsheet/react/image-cs1" %}
-### Limitations of Image
+### Limitations
-The following features have some limitations in Image:
-
-* Corner resizing option in the image element.
-* Copy and paste the external image.
+- Corner resizing may be limited or not available for some images.
+- Copying and pasting images from other applications may not preserve the image or its properties.
+- Very large image files can slow the spreadsheet.
+- Moving or inserting rows/columns can change image position unexpectedly.
## Chart
@@ -205,13 +205,12 @@ Using the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spr
{% previewsample "/document-processing/code-snippet/spreadsheet/react/chart-cs3" %}
-### Limitations of Chart
-
-The following features have some limitations in the Chart:
+### Limitations
-* Insert row/delete row between the chart data source will not reflect the chart.
-* Copy/paste into the chart data source will not reflect the chart.
-* Corner resizing option in chart element.
+- Inserting or deleting rows inside the chart data range may not update the chart.
+- Copying and pasting data into the chart range may not refresh the chart.
+- Corner resizing for charts may be limited in some hosts.
+- Very large data ranges can slow chart drawing and interaction.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/link.md b/Document-Processing/Excel/Spreadsheet/React/link.md
index cc96406e78..123a6e0516 100644
--- a/Document-Processing/Excel/Spreadsheet/React/link.md
+++ b/Document-Processing/Excel/Spreadsheet/React/link.md
@@ -64,7 +64,7 @@ There is an event named `beforeHyperlinkClick` which triggers only on clicking h
## Limitations
-* Inserting hyperlink not supported for multiple ranges.
+- You cannot insert a hyperlink for multiple ranges at once.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/notes.md b/Document-Processing/Excel/Spreadsheet/React/notes.md
index ee51fe75cd..f4c1573768 100644
--- a/Document-Processing/Excel/Spreadsheet/React/notes.md
+++ b/Document-Processing/Excel/Spreadsheet/React/notes.md
@@ -165,7 +165,7 @@ In the below example, you can navigate between notes using **Previous Note** and
## Limitations
-* 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).
-* Notes added outside the used ranges of the worksheet will not be included in the exported document.
+- You cannot format text inside notes (bold, color, etc.); imported note formatting is not kept.
+- You cannot change the look of the note dialog (size, color, border).
+- Notes are not saved when exporting to Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf).
+- Notes added outside the sheet's used range are not exported.
diff --git a/Document-Processing/Excel/Spreadsheet/React/print.md b/Document-Processing/Excel/Spreadsheet/React/print.md
index 737e1d7f71..bb8aeee688 100644
--- a/Document-Processing/Excel/Spreadsheet/React/print.md
+++ b/Document-Processing/Excel/Spreadsheet/React/print.md
@@ -59,6 +59,7 @@ The printing functionality in the Spreadsheet can be disabled by setting the [`a
## Limitations
-* When printing the document, changing the page orientation to landscape is not supported in both the `print` method and print preview dialog of the web browser.
-* The styles provided for the data validation functionality will not be available in the printed copy of the document.
-* The content added to the cell templates, such as HTML elements, Syncfusion® controls, and others, will not be available in the printed copy of the document.
\ No newline at end of file
+- * When printing the document, changing the page orientation to landscape is not supported in both the `print` method and print preview dialog of the web browser.
+- The styles provided for the data validation functionality will not be available in the printed copy of the document.
+- The content added to the cell templates, such as HTML elements, Syncfusion® controls, and others, will not be available in the printed copy of the document.
+- Large sheets with many images or charts may print slowly or may be clipped by the browser's print limits.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
index 3abf9eb815..66a993865e 100644
--- a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
+++ b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
@@ -61,9 +61,10 @@ The following example shows `Protect Sheet` functionality in the Spreadsheet con
{% previewsample "/document-processing/code-snippet/spreadsheet/react/protect-sheet-cs1" %}
-### Limitations of Protect sheet
+### Limitations
-* Password encryption is not supported
+- Password encryption is not supported.
+- Protecting a sheet does not stop programmatic changes from code or admin tools.
## Unprotect Sheet
diff --git a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
index abcda41b9b..9ab2c888b8 100644
--- a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
+++ b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
@@ -99,14 +99,14 @@ The following code example shows the delete operation of rows and columns in the
{% previewsample "/document-processing/code-snippet/spreadsheet/react/delete-row-column-cs1" %}
-## Limitations of insert and delete
+## Limitations
The following features have some limitations in Insert/Delete:
-* Insert row/column between the formatting applied cells.
-* Insert row/column between the data validation.
-* Insert row/column between the conditional formatting applied cells.
-* Insert/delete row/column between the filter applied cells.
+- Insert row/column between the formatting applied cells.
+- Insert row/column between the data validation.
+- Insert row/column between the conditional formatting applied cells.
+- Insert or delete row/column between the filter applied cells.
## Hide and show
diff --git a/Document-Processing/Excel/Spreadsheet/React/searching.md b/Document-Processing/Excel/Spreadsheet/React/searching.md
index b2304fb26e..a56d45a4a2 100644
--- a/Document-Processing/Excel/Spreadsheet/React/searching.md
+++ b/Document-Processing/Excel/Spreadsheet/React/searching.md
@@ -81,7 +81,7 @@ In the following sample, searching can be done by following ways:
## Limitations
-* Undo/redo for Replace All is not supported in this feature.
+- Undo/redo is not supported for Replace All.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/selection.md b/Document-Processing/Excel/Spreadsheet/React/selection.md
index 98e1eae436..00fbd8a025 100644
--- a/Document-Processing/Excel/Spreadsheet/React/selection.md
+++ b/Document-Processing/Excel/Spreadsheet/React/selection.md
@@ -141,7 +141,8 @@ The following sample shows, how to remove the selection in the spreadsheet. Here
## Limitations
-* We have a limitation while performing the Select All(`ctrl + A`). You can do this only by clicking the Select All button at the top left corner.
+- We have a limitation while performing the Select All(`ctrl + A`). Use the Select All button at the top-left corner.
+- Some host apps or custom UIs may change keyboard or mouse behavior for selection.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/sort.md b/Document-Processing/Excel/Spreadsheet/React/sort.md
index 8408829f6e..d1368753c0 100644
--- a/Document-Processing/Excel/Spreadsheet/React/sort.md
+++ b/Document-Processing/Excel/Spreadsheet/React/sort.md
@@ -176,7 +176,7 @@ The following errors have been handled for sorting,
## Limitations
-* Sorting is not supported with formula contained cells.
+- Sorting does not work on cells that contain formulas.
## Note
From 8d2432a3615776f86ebb65de631cb938ae698f99 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Mon, 9 Mar 2026 16:07:25 +0530
Subject: [PATCH 009/345] 1014682: updated limitation details
---
.../Excel/Spreadsheet/React/cell-range.md | 17 +++++++--------
.../Excel/Spreadsheet/React/clipboard.md | 12 +++++------
.../Excel/Spreadsheet/React/comment.md | 12 ++++-------
.../Spreadsheet/React/data-validation.md | 14 +++++++------
.../Excel/Spreadsheet/React/editing.md | 3 +--
.../Excel/Spreadsheet/React/filter.md | 9 +++++---
.../Excel/Spreadsheet/React/formatting.md | 20 +++++++++++-------
.../Excel/Spreadsheet/React/freeze-pane.md | 4 ++--
.../Excel/Spreadsheet/React/illustrations.md | 21 ++++++++++---------
.../Excel/Spreadsheet/React/link.md | 4 ++--
.../Excel/Spreadsheet/React/notes.md | 8 +++----
.../Excel/Spreadsheet/React/print.md | 7 +++----
.../Excel/Spreadsheet/React/protect-sheet.md | 5 ++---
.../Spreadsheet/React/rows-and-columns.md | 11 +++++-----
.../Excel/Spreadsheet/React/searching.md | 4 +++-
.../Excel/Spreadsheet/React/selection.md | 3 +--
.../Excel/Spreadsheet/React/sort.md | 3 ++-
17 files changed, 79 insertions(+), 78 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/cell-range.md b/Document-Processing/Excel/Spreadsheet/React/cell-range.md
index 2852bf0994..b816856d4b 100644
--- a/Document-Processing/Excel/Spreadsheet/React/cell-range.md
+++ b/Document-Processing/Excel/Spreadsheet/React/cell-range.md
@@ -48,8 +48,8 @@ The following code example shows the wrap text functionality in spreadsheet.
The following features have some limitations when using wrap text:
-- **Sorting:** Sorting data that contains wrapped text may not auto-adjust row heights after the sort.
-- **Merge cells:** Wrap text behavior inside merged cells may be inconsistent and row height may not update correctly.
+- Sorting with wrap text applied data.
+- Merge with wrap text
## Merge cells
@@ -93,9 +93,9 @@ The following code example shows the merge cells operation in spreadsheet.
The following features have some limitations when using merged cells:
-- **Filter:** Merged cells are not fully compatible with filtering and may prevent proper filter behavior.
-- **Wrap text:** Wrapped text inside merged cells may not render or adjust row height correctly.
-- **Copy/Paste and Autofill:** Operations that span merged regions may be limited or behave unexpectedly.
+- Merge with filter.
+- Merge with wrap text.
+- Merge with border style.
## Auto Fill
@@ -179,11 +179,8 @@ In the following sample, you can enable/disable the fill option on the button cl
### Limitations
-The following features have some limitations in Auto Fill:
-
-- **Flash Fill:** The Flash Fill feature is not supported in the Auto Fill workflow.
-- **Conditional formatting:** Filling cells that have conditional formatting may not preserve or apply rules exactly as expected.
-- **Merged cells:** Auto Fill operations involving merged cells may be limited or behave inconsistently.
+- The Flash Fill feature is not supported in the Auto Fill workflow.
+- There is limitation for autofill with conditional formatting applied cells.
## Clear
diff --git a/Document-Processing/Excel/Spreadsheet/React/clipboard.md b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
index c280a96afd..99e167e8b6 100644
--- a/Document-Processing/Excel/Spreadsheet/React/clipboard.md
+++ b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
@@ -99,13 +99,11 @@ The following example shows, how to prevent the paste action in spreadsheet. In
## Limitations
-- **External clipboard:** Copying from external sources (web pages, other apps) only supports basic content — values, numbers, plain text and simple cell formatting. Rich HTML, images, embedded objects, and complex formatting are not preserved.
-- **Formulas:** Formulas such as `=SUM(A2,B2)` update their cell references relative to the paste location. Copying nested or workbook-scoped formulas may not preserve references correctly when pasted across different sheets or workbooks.
-- **Conditional formatting:** Clipboard operations do not preserve conditional formatting rules; only values (or basic formats via Paste Special) are applied.
-- **Whole-sheet copy/paste:** Copying an entire sheet and pasting into another sheet has limitations and may not retain some sheet-level settings (for example, named ranges, certain sheet-level formats, or merged regions).
-- **Merged cells:** Cut/copy/paste operations that involve merged cells may behave inconsistently or be restricted.
-- **Data validation and charts:** Pasting into cells with data validation or chart sources may not preserve validation rules or linked chart data.
-- **Browser/Platform clipboard restrictions:** Browser or OS security restrictions can limit programmatic clipboard access; keyboard shortcuts (`Ctrl+C`, `Ctrl+V`) are more reliable in some environments.
+- External clipboard is not fully supported while copying data from another source and pasting into a spreadsheet, it only works with basic supports (Values, Number, cell, and Text formatting).
+- If you copy =SUM(A2,B2) and paste, the formula reference will change depending on the pasted cell address but we don't have support for nested formula(formula reference will be same).
+- Clipboard is not supported with conditional formatting (values only pasting).
+- We have limitation while copying the whole sheet data and pasting it into another sheet.
+- Paste options are not enabled when copying from an external sheet; external clipboard paste works only through keyboard shortcuts (Ctrl + V).
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/comment.md b/Document-Processing/Excel/Spreadsheet/React/comment.md
index e357956d15..709ec6682c 100644
--- a/Document-Processing/Excel/Spreadsheet/React/comment.md
+++ b/Document-Processing/Excel/Spreadsheet/React/comment.md
@@ -194,14 +194,10 @@ In the below sample, comments are added to a specific cell using cell data bindi
* **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.
## Limitations
-
-- Only posted comments are saved. If you close the editor without posting, the text is lost.
-- Each cell can have only one comment thread. Add new notes as replies in that thread.
-- Replies are flat. You cannot reply to a reply (no nested replies).
-- When a thread is resolved, the reply box and some actions are hidden.
-- A cell cannot have both a comment and a note at the same time.
-- The control does not provide real-time live collaboration (no automatic multi-user sync).
-- The app must provide the author name, when exporting and re-importing the workbook, the author information for each comment and reply is preserved.
+- **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.
## See Also
* [Notes](./notes)
diff --git a/Document-Processing/Excel/Spreadsheet/React/data-validation.md b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
index 32f95229c1..16b8dcc0f4 100644
--- a/Document-Processing/Excel/Spreadsheet/React/data-validation.md
+++ b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
@@ -89,13 +89,15 @@ The following code example demonstrates how to add custom data validation with a
{% previewsample "/document-processing/code-snippet/spreadsheet/react/data-validation-cs2" %}
-## Limitations
+## Limitations of Data validation
-- Applying validation to whole rows or whole columns can be slow or unreliable.
-- Inserting rows or columns inside a validated range may not copy the rule to the new rows/columns.
-- Copying and pasting cells can overwrite or remove validation.
-- Deleting cells inside a validated area can move or remove validation rules unexpectedly.
-- Validation on merged cells may not work correctly.
+The following features have some limitations in Data Validation:
+
+* Entire row data validation.
+* Insert row between the data validation.
+* Copy/paste with data validation.
+* Delete cells between data validation applied range.
+* Custom error message in data validation.
## See Also
diff --git a/Document-Processing/Excel/Spreadsheet/React/editing.md b/Document-Processing/Excel/Spreadsheet/React/editing.md
index a43bcaed2a..7a11ac80fa 100644
--- a/Document-Processing/Excel/Spreadsheet/React/editing.md
+++ b/Document-Processing/Excel/Spreadsheet/React/editing.md
@@ -61,8 +61,7 @@ The following sample shows how to prevent the editing and cell save. Here `E` co
## Limitations
-- Text overflow in cells is not supported in Editing.
-- Very large amounts of text or many quick edits may slow the spreadsheet.
+* Text overflow in cells is not supported in Editing.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/filter.md b/Document-Processing/Excel/Spreadsheet/React/filter.md
index 9a2a591a56..9b789051af 100644
--- a/Document-Processing/Excel/Spreadsheet/React/filter.md
+++ b/Document-Processing/Excel/Spreadsheet/React/filter.md
@@ -109,9 +109,12 @@ The following code example shows how to get the filtered rows.
## Limitations
-- Inserting or deleting rows/columns where a filter is applied can change or remove the filter.
-- Filters do not work well on merged cells.
-- Copying or cutting and pasting filtered cells may not keep the filter and can paste hidden rows.
+The following features have some limitations in Filter:
+
+* Insert/delete row/column between the filter applied cells.
+* Merge cells with filter.
+* Copy/cut paste the filter applied cells.
+* Filter by color.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/formatting.md b/Document-Processing/Excel/Spreadsheet/React/formatting.md
index cb70119374..578dbd209a 100644
--- a/Document-Processing/Excel/Spreadsheet/React/formatting.md
+++ b/Document-Processing/Excel/Spreadsheet/React/formatting.md
@@ -245,10 +245,12 @@ The following code example shows the style formatting in text and cells of the s
{% previewsample "/document-processing/code-snippet/spreadsheet/react/cellformat-cs1" %}
-### Limitations
+### Limitations of Formatting
-- Inserting or deleting rows/columns where formatting is applied can change or remove the formatting.
-- Applying formatting to whole rows or whole columns may not work well.
+The following features are not supported in Formatting:
+
+* Insert row/column between the formatting applied cells.
+* Formatting support for row/column.
## Conditional Formatting
@@ -346,12 +348,14 @@ You can clear the defined rules by using one of the following ways,
{% previewsample "/document-processing/code-snippet/spreadsheet/react/conditional-formatting-cs1" %}
-### Limitations
+### Limitations of Conditional formatting
+
+The following features have some limitations in Conditional Formatting:
-- Inserting or deleting rows/columns inside a conditional formatted range can remove or shift the rules.
-- Conditional formats that use complex formulas may not work in every case.
-- Copying and pasting cells may not keep conditional formatting.
-- Some custom conditional rules are not supported.
+* Insert row/column between the conditional formatting.
+* Conditional formatting with formula support.
+* Copy and paste the conditional formatting applied cells.
+* Custom rule support.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
index 793d215679..a03f48d83a 100644
--- a/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
+++ b/Document-Processing/Excel/Spreadsheet/React/freeze-pane.md
@@ -69,8 +69,8 @@ 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.
-- Merged cells across the frozen and unfrozen areas may not work correctly.
-- If images and charts are added inside the freeze area cells, their portion in the unfreeze area will not move when scrolling.
+* Merging the cells between freeze and unfreeze area.
+* 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/illustrations.md b/Document-Processing/Excel/Spreadsheet/React/illustrations.md
index 49894089a1..9af8640aff 100644
--- a/Document-Processing/Excel/Spreadsheet/React/illustrations.md
+++ b/Document-Processing/Excel/Spreadsheet/React/illustrations.md
@@ -85,12 +85,12 @@ Image feature allows you to view and insert an image in a spreadsheet, and you c
{% previewsample "/document-processing/code-snippet/spreadsheet/react/image-cs1" %}
-### Limitations
+### Limitations of Image
-- Corner resizing may be limited or not available for some images.
-- Copying and pasting images from other applications may not preserve the image or its properties.
-- Very large image files can slow the spreadsheet.
-- Moving or inserting rows/columns can change image position unexpectedly.
+The following features have some limitations in Image:
+
+* Corner resizing option in the image element.
+* Copy and paste the external image.
## Chart
@@ -205,12 +205,13 @@ Using the [`actionBegin`](https://ej2.syncfusion.com/react/documentation/api/spr
{% previewsample "/document-processing/code-snippet/spreadsheet/react/chart-cs3" %}
-### Limitations
+### Limitations of Chart
+
+The following features have some limitations in the Chart:
-- Inserting or deleting rows inside the chart data range may not update the chart.
-- Copying and pasting data into the chart range may not refresh the chart.
-- Corner resizing for charts may be limited in some hosts.
-- Very large data ranges can slow chart drawing and interaction.
+* Insert row/delete row between the chart data source will not reflect the chart.
+* Copy/paste into the chart data source will not reflect the chart.
+* Corner resizing option in chart element.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/link.md b/Document-Processing/Excel/Spreadsheet/React/link.md
index 123a6e0516..bba3741381 100644
--- a/Document-Processing/Excel/Spreadsheet/React/link.md
+++ b/Document-Processing/Excel/Spreadsheet/React/link.md
@@ -64,7 +64,7 @@ There is an event named `beforeHyperlinkClick` which triggers only on clicking h
## Limitations
-- You cannot insert a hyperlink for multiple ranges at once.
+* Inserting hyperlink not supported for multiple ranges.
## Note
@@ -74,4 +74,4 @@ You can refer to our [React Spreadsheet](https://www.syncfusion.com/spreadsheet-
* [Sorting](./sort)
* [Filtering](./filter)
-* [Undo Redo](./undo-redo)
\ No newline at end of file
+* [Undo Redo](./undo-redo)z
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/notes.md b/Document-Processing/Excel/Spreadsheet/React/notes.md
index f4c1573768..ee51fe75cd 100644
--- a/Document-Processing/Excel/Spreadsheet/React/notes.md
+++ b/Document-Processing/Excel/Spreadsheet/React/notes.md
@@ -165,7 +165,7 @@ In the below example, you can navigate between notes using **Previous Note** and
## Limitations
-- You cannot format text inside notes (bold, color, etc.); imported note formatting is not kept.
-- You cannot change the look of the note dialog (size, color, border).
-- Notes are not saved when exporting to Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf).
-- Notes added outside the sheet's used range are not exported.
+* 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).
+* Notes added outside the used ranges of the worksheet will not be included in the exported document.
diff --git a/Document-Processing/Excel/Spreadsheet/React/print.md b/Document-Processing/Excel/Spreadsheet/React/print.md
index bb8aeee688..737e1d7f71 100644
--- a/Document-Processing/Excel/Spreadsheet/React/print.md
+++ b/Document-Processing/Excel/Spreadsheet/React/print.md
@@ -59,7 +59,6 @@ The printing functionality in the Spreadsheet can be disabled by setting the [`a
## Limitations
-- * When printing the document, changing the page orientation to landscape is not supported in both the `print` method and print preview dialog of the web browser.
-- The styles provided for the data validation functionality will not be available in the printed copy of the document.
-- The content added to the cell templates, such as HTML elements, Syncfusion® controls, and others, will not be available in the printed copy of the document.
-- Large sheets with many images or charts may print slowly or may be clipped by the browser's print limits.
\ No newline at end of file
+* When printing the document, changing the page orientation to landscape is not supported in both the `print` method and print preview dialog of the web browser.
+* The styles provided for the data validation functionality will not be available in the printed copy of the document.
+* The content added to the cell templates, such as HTML elements, Syncfusion® controls, and others, will not be available in the printed copy of the document.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
index 66a993865e..3abf9eb815 100644
--- a/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
+++ b/Document-Processing/Excel/Spreadsheet/React/protect-sheet.md
@@ -61,10 +61,9 @@ The following example shows `Protect Sheet` functionality in the Spreadsheet con
{% previewsample "/document-processing/code-snippet/spreadsheet/react/protect-sheet-cs1" %}
-### Limitations
+### Limitations of Protect sheet
-- Password encryption is not supported.
-- Protecting a sheet does not stop programmatic changes from code or admin tools.
+* Password encryption is not supported
## Unprotect Sheet
diff --git a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
index 9ab2c888b8..f67964e4d4 100644
--- a/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
+++ b/Document-Processing/Excel/Spreadsheet/React/rows-and-columns.md
@@ -99,14 +99,15 @@ The following code example shows the delete operation of rows and columns in the
{% previewsample "/document-processing/code-snippet/spreadsheet/react/delete-row-column-cs1" %}
-## Limitations
+## Limitations of insert and delete
The following features have some limitations in Insert/Delete:
-- Insert row/column between the formatting applied cells.
-- Insert row/column between the data validation.
-- Insert row/column between the conditional formatting applied cells.
-- Insert or delete row/column between the filter applied cells.
+* Insert row/column between the formatting applied cells.
+* Insert row/column between the data validation.
+* Insert row/column between the conditional formatting applied cells.
+* Insert/delete row/column between the filter applied cells.
+* Insert/delete cells are not supported.
## Hide and show
diff --git a/Document-Processing/Excel/Spreadsheet/React/searching.md b/Document-Processing/Excel/Spreadsheet/React/searching.md
index a56d45a4a2..fceab9616e 100644
--- a/Document-Processing/Excel/Spreadsheet/React/searching.md
+++ b/Document-Processing/Excel/Spreadsheet/React/searching.md
@@ -81,7 +81,9 @@ In the following sample, searching can be done by following ways:
## Limitations
-- Undo/redo is not supported for Replace All.
+* Undo/redo for Replace All is not supported in this feature.
+* Replace All is not supported for selected range.
+* Find and Replace in Formulas, Notes not supported.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/selection.md b/Document-Processing/Excel/Spreadsheet/React/selection.md
index 00fbd8a025..98e1eae436 100644
--- a/Document-Processing/Excel/Spreadsheet/React/selection.md
+++ b/Document-Processing/Excel/Spreadsheet/React/selection.md
@@ -141,8 +141,7 @@ The following sample shows, how to remove the selection in the spreadsheet. Here
## Limitations
-- We have a limitation while performing the Select All(`ctrl + A`). Use the Select All button at the top-left corner.
-- Some host apps or custom UIs may change keyboard or mouse behavior for selection.
+* We have a limitation while performing the Select All(`ctrl + A`). You can do this only by clicking the Select All button at the top left corner.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/sort.md b/Document-Processing/Excel/Spreadsheet/React/sort.md
index d1368753c0..03291259cc 100644
--- a/Document-Processing/Excel/Spreadsheet/React/sort.md
+++ b/Document-Processing/Excel/Spreadsheet/React/sort.md
@@ -176,7 +176,8 @@ The following errors have been handled for sorting,
## Limitations
-- Sorting does not work on cells that contain formulas.
+* Sorting is not supported with formula contained cells.
+* Sort by color is not supported.
## Note
From 722f595e09b0c7a5a0a7a342c67f62c02b2df524 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Mon, 9 Mar 2026 16:16:15 +0530
Subject: [PATCH 010/345] 1014682: updated limitation details
---
Document-Processing/Excel/Spreadsheet/React/link.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/link.md b/Document-Processing/Excel/Spreadsheet/React/link.md
index bba3741381..cc96406e78 100644
--- a/Document-Processing/Excel/Spreadsheet/React/link.md
+++ b/Document-Processing/Excel/Spreadsheet/React/link.md
@@ -74,4 +74,4 @@ You can refer to our [React Spreadsheet](https://www.syncfusion.com/spreadsheet-
* [Sorting](./sort)
* [Filtering](./filter)
-* [Undo Redo](./undo-redo)z
\ No newline at end of file
+* [Undo Redo](./undo-redo)
\ No newline at end of file
From 0e65f77138ec28a2014974fd933b270f1b613056 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Tue, 10 Mar 2026 12:42:06 +0530
Subject: [PATCH 011/345] 1015064: Updated the version for code samples.
---
.../spreadsheet/react/add-icon-in-cell-cs1/index.html | 2 +-
.../spreadsheet/react/add-icon-in-cell-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/autofill-cs1/index.html | 2 +-
.../spreadsheet/react/autofill-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/base-64-string/index.html | 2 +-
.../spreadsheet/react/base-64-string/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/calculation-cs1/index.html | 2 +-
.../spreadsheet/react/calculation-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/calculation-cs2/index.html | 2 +-
.../spreadsheet/react/calculation-cs2/systemjs.config.js | 2 +-
.../spreadsheet/react/cell-data-binding-cs1/index.html | 2 +-
.../spreadsheet/react/cell-data-binding-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/cellformat-cs1/index.html | 2 +-
.../spreadsheet/react/cellformat-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/change-active-sheet-cs1/index.html | 2 +-
.../react/change-active-sheet-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/chart-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/chart-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/chart-cs2/index.html | 2 +-
.../code-snippet/spreadsheet/react/chart-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/chart-cs3/index.html | 2 +-
.../code-snippet/spreadsheet/react/chart-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/clear-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/clear-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/clipboard-cs1/index.html | 2 +-
.../spreadsheet/react/clipboard-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/clipboard-cs2/index.html | 2 +-
.../spreadsheet/react/clipboard-cs2/systemjs.config.js | 2 +-
.../spreadsheet/react/column-header-change-cs1/index.html | 2 +-
.../react/column-header-change-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/column-width-cs1/index.html | 2 +-
.../spreadsheet/react/column-width-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/comment-cs1/index.html | 2 +-
.../spreadsheet/react/comment-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/conditional-formatting-cs1/index.html | 2 +-
.../react/conditional-formatting-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/context-menu-cs1/index.html | 2 +-
.../spreadsheet/react/context-menu-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/context-menu-cs2/index.html | 2 +-
.../spreadsheet/react/context-menu-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/context-menu-cs3/index.html | 2 +-
.../spreadsheet/react/context-menu-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/custom-sort-cs1/index.html | 2 +-
.../spreadsheet/react/custom-sort-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/data-validation-cs1/index.html | 2 +-
.../spreadsheet/react/data-validation-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/data-validation-cs2/index.html | 2 +-
.../spreadsheet/react/data-validation-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/defined-name-cs1/index.html | 2 +-
.../spreadsheet/react/defined-name-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/delete-row-column-cs1/index.html | 2 +-
.../spreadsheet/react/delete-row-column-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/dynamic-cell-template-cs1/index.html | 2 +-
.../react/dynamic-cell-template-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/dynamic-data-binding-cs1/index.html | 2 +-
.../react/dynamic-data-binding-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/dynamic-data-binding-cs2/index.html | 2 +-
.../react/dynamic-data-binding-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/editing-cs1/index.html | 2 +-
.../spreadsheet/react/editing-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/field-mapping-cs1/index.html | 2 +-
.../spreadsheet/react/field-mapping-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/filter-cs1/index.html | 2 +-
.../spreadsheet/react/filter-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/filter-cs2/index.html | 2 +-
.../spreadsheet/react/filter-cs2/systemjs.config.js | 2 +-
.../spreadsheet/react/find-and-replace-cs1/index.html | 2 +-
.../spreadsheet/react/find-and-replace-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/find-target-context-menu/index.html | 2 +-
.../react/find-target-context-menu/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/formula-cs1/index.html | 2 +-
.../spreadsheet/react/formula-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/formula-cs2/index.html | 2 +-
.../spreadsheet/react/formula-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/formula-cs3/index.html | 2 +-
.../spreadsheet/react/formula-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/freeze-pane-cs1/index.html | 2 +-
.../spreadsheet/react/freeze-pane-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/getting-started-cs1/index.html | 2 +-
.../spreadsheet/react/getting-started-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/globalization-cs1/index.html | 2 +-
.../spreadsheet/react/globalization-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/headers-gridlines-cs1/index.html | 2 +-
.../spreadsheet/react/headers-gridlines-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/image-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/image-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/insert-column-cs1/index.html | 2 +-
.../spreadsheet/react/insert-column-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/insert-row-cs1/index.html | 2 +-
.../spreadsheet/react/insert-row-cs1/systemjs.config.js | 2 +-
.../react/insert-sheet-change-active-sheet-cs1/index.html | 2 +-
.../insert-sheet-change-active-sheet-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/insert-sheet-cs1/index.html | 2 +-
.../spreadsheet/react/insert-sheet-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/internationalization-cs1/index.html | 2 +-
.../react/internationalization-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/json-structure-cs1/index.html | 2 +-
.../spreadsheet/react/json-structure-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/link-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/link-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/local-data-binding-cs1/index.html | 2 +-
.../spreadsheet/react/local-data-binding-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/local-data-binding-cs2/index.html | 2 +-
.../spreadsheet/react/local-data-binding-cs2/systemjs.config.js | 2 +-
.../spreadsheet/react/local-data-binding-cs3/index.html | 2 +-
.../spreadsheet/react/local-data-binding-cs3/systemjs.config.js | 2 +-
.../spreadsheet/react/local-data-binding-cs4/index.html | 2 +-
.../spreadsheet/react/local-data-binding-cs4/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/merge-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/merge-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/note-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/note-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/note-cs2/index.html | 2 +-
.../code-snippet/spreadsheet/react/note-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/note-cs3/index.html | 2 +-
.../code-snippet/spreadsheet/react/note-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/numberformat-cs1/index.html | 2 +-
.../spreadsheet/react/numberformat-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/open-from-blobdata-cs1/index.html | 2 +-
.../spreadsheet/react/open-from-blobdata-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-from-json/index.html | 2 +-
.../spreadsheet/react/open-from-json/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs1/index.html | 2 +-
.../spreadsheet/react/open-save-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs2/index.html | 2 +-
.../spreadsheet/react/open-save-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs3/index.html | 2 +-
.../spreadsheet/react/open-save-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs4/index.html | 2 +-
.../spreadsheet/react/open-save-cs4/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs5/index.html | 2 +-
.../spreadsheet/react/open-save-cs5/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs6/index.html | 2 +-
.../spreadsheet/react/open-save-cs6/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs7/index.html | 2 +-
.../spreadsheet/react/open-save-cs7/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs8/index.html | 2 +-
.../spreadsheet/react/open-save-cs8/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/open-save-cs9/index.html | 2 +-
.../spreadsheet/react/open-save-cs9/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/passing-sort-cs1/index.html | 2 +-
.../spreadsheet/react/passing-sort-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/print-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/print-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/print-cs2/index.html | 2 +-
.../code-snippet/spreadsheet/react/print-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/print-cs3/index.html | 2 +-
.../code-snippet/spreadsheet/react/print-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/protect-sheet-cs1/index.html | 2 +-
.../spreadsheet/react/protect-sheet-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/readonly-cs1/index.html | 2 +-
.../spreadsheet/react/readonly-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/remote-data-binding-cs1/index.html | 2 +-
.../react/remote-data-binding-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/remote-data-binding-cs2/index.html | 2 +-
.../react/remote-data-binding-cs2/systemjs.config.js | 2 +-
.../spreadsheet/react/remote-data-binding-cs3/index.html | 2 +-
.../react/remote-data-binding-cs3/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/ribbon-cs1/index.html | 2 +-
.../spreadsheet/react/ribbon-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/row-height-cs1/index.html | 2 +-
.../spreadsheet/react/row-height-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/save-as-blobdata-cs1/index.html | 2 +-
.../spreadsheet/react/save-as-blobdata-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/save-as-json/index.html | 2 +-
.../spreadsheet/react/save-as-json/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/save-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/save-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/scrolling-cs1/index.html | 2 +-
.../spreadsheet/react/scrolling-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/searching-cs1/index.html | 2 +-
.../spreadsheet/react/searching-cs1/systemjs.config.js | 2 +-
.../spreadsheet/react/selected-cell-values/index.html | 2 +-
.../spreadsheet/react/selected-cell-values/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/selection-cs1/index.html | 2 +-
.../spreadsheet/react/selection-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/selection-cs2/index.html | 2 +-
.../spreadsheet/react/selection-cs2/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/selection-cs3/index.html | 2 +-
.../spreadsheet/react/selection-cs3/systemjs.config.js | 2 +-
.../spreadsheet/react/sheet-visiblity-cs1/index.html | 2 +-
.../spreadsheet/react/sheet-visiblity-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/show-hide-cs1/index.html | 2 +-
.../spreadsheet/react/show-hide-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/sort-by-cell-cs1/index.html | 2 +-
.../spreadsheet/react/sort-by-cell-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/template-cs1/index.html | 2 +-
.../spreadsheet/react/template-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/undo-redo-cs1/index.html | 2 +-
.../spreadsheet/react/undo-redo-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/unlock-cells-cs1/index.html | 2 +-
.../spreadsheet/react/unlock-cells-cs1/systemjs.config.js | 2 +-
.../code-snippet/spreadsheet/react/wrap-cs1/index.html | 2 +-
.../code-snippet/spreadsheet/react/wrap-cs1/systemjs.config.js | 2 +-
194 files changed, 194 insertions(+), 194 deletions(-)
diff --git a/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/index.html
index 8b6e016434..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/systemjs.config.js
index 9290509c4a..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/add-icon-in-cell-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/index.html
index c6d11af8f7..c7569918cc 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/autofill-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/base-64-string/index.html b/Document-Processing/code-snippet/spreadsheet/react/base-64-string/index.html
index e7e3672a74..db834cc48e 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/base-64-string/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/base-64-string/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/base-64-string/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/base-64-string/systemjs.config.js
index e0bd771f2f..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/base-64-string/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/base-64-string/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.2.6/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/index.html
index a0ad2de5cd..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/systemjs.config.js
index 62101801da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/28.1.33/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/index.html
index a0ad2de5cd..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/systemjs.config.js
index 62101801da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/calculation-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/28.1.33/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/cell-data-binding-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/cellformat-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/change-active-sheet-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/index.html
index c6d11af8f7..c7569918cc 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/index.html
index 7b2809c9d8..e657173007 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/index.html
index c6d11af8f7..c7569918cc 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/chart-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/index.html
index dc728293d2..d7871e1d26 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/clear-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/index.html
index dc728293d2..d7871e1d26 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/index.html
index dc728293d2..d7871e1d26 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/clipboard-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/column-header-change-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/column-width-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/index.html
index e0378fae67..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/systemjs.config.js
index 4b4909d0f5..1772257c9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/comment-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/index.html
index f448cb2bf0..b81d9f09bd 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/conditional-formatting-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/context-menu-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/custom-sort-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/index.html
index a0ad2de5cd..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/systemjs.config.js
index 7d84142c0c..0c809e9ec8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/data-validation-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/28.1.33/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/defined-name-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/delete-row-column-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/index.html
index 8b6e016434..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/systemjs.config.js
index 9290509c4a..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/index.html
index 90d6cabc05..4f64513faa 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/index.html
index 2cfa6ee797..f2ced05473 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/dynamic-data-binding-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/editing-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/index.html
index 86f3c0bdd6..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/field-mapping-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/filter-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/index.html
index 86d550a7a5..f2ced05473 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/systemjs.config.js
index 9290509c4a..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/filter-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/index.html
index 8b6e016434..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/systemjs.config.js
index 9290509c4a..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/find-and-replace-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/index.html b/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/find-target-context-menu/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/index.html
index cef151ad2b..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/systemjs.config.js
index a35c87e525..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.43/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/index.html
index cef151ad2b..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/systemjs.config.js
index a35c87e525..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.43/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/index.html
index 10a4d6f5e5..fcb7b72dac 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/systemjs.config.js
index bc641abc96..d6fe797f9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/formula-cs3/systemjs.config.js
@@ -17,7 +17,7 @@ System.config({
'*.json': { loader: 'plugin-json' }
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/28.1.33/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/freeze-pane-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/getting-started-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/index.html
index 79fa246508..b81d9f09bd 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/systemjs.config.js
index e5bcca5a46..1b066432cc 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/globalization-cs1/systemjs.config.js
@@ -17,7 +17,7 @@ System.config({
'*.json': { loader: 'plugin-json' }
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/27.1.48/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/headers-gridlines-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/image-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/image-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/image-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/image-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/image-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/image-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/image-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/image-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-column-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-row-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/index.html
index e7e3672a74..db834cc48e 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/systemjs.config.js
index e0bd771f2f..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-change-active-sheet-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.2.6/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/insert-sheet-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/internationalization-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/json-structure-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/link-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/link-cs1/index.html
index f9ee18ca03..45615321dc 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/link-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/link-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/link-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/link-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/link-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/link-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/index.html b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/local-data-binding-cs4/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/merge-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/note-cs1/index.html
index e0378fae67..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/note-cs1/systemjs.config.js
index 4b4909d0f5..1772257c9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/note-cs2/index.html
index e0378fae67..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/note-cs2/systemjs.config.js
index 4b4909d0f5..1772257c9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/note-cs3/index.html
index e0378fae67..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/note-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/note-cs3/systemjs.config.js
index 4b4909d0f5..1772257c9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/note-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/note-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/numberformat-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/index.html
index b278908a18..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-from-blobdata-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-from-json/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-from-json/index.html
index 6d5ee749d7..9643e67e0f 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-from-json/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-from-json/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-from-json/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-from-json/systemjs.config.js
index bf9a4c63a0..3919d48b6b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-from-json/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-from-json/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs4/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs5/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/systemjs.config.js
index d38cdf81d0..9e802841bd 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs6/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/index.html
index dc728293d2..d7871e1d26 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs7/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs8/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/index.html b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/systemjs.config.js
index c60b414918..0d0f2b05b5 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/open-save-cs9/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/passing-sort-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/print-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/print-cs1/systemjs.config.js
index 2f6cacc8bf..dfaf70ac86 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/print-cs2/index.html
index a2650a4ed3..59a57ee389 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/print-cs2/systemjs.config.js
index d40d95afc2..8a7b2a8220 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/print-cs3/index.html
index b278908a18..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/print-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/print-cs3/systemjs.config.js
index 503d4886b4..1772257c9b 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/print-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/print-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/protect-sheet-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/index.html
index b278908a18..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/readonly-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/remote-data-binding-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/ribbon-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/systemjs.config.js
index f30cc6d891..c6222fc976 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/row-height-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/index.html
index b278908a18..b6fbfd9421 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-as-blobdata-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-as-json/index.html b/Document-Processing/code-snippet/spreadsheet/react/save-as-json/index.html
index d700d8be91..78da698ed6 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-as-json/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-as-json/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-as-json/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/save-as-json/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-as-json/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-as-json/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/save-cs1/index.html
index dc728293d2..d7871e1d26 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/save-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/save-cs1/systemjs.config.js
index 9fe366a8e2..05493a9394 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/save-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/save-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/scrolling-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/searching-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/index.html b/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/index.html
index 2cfa6ee797..f2ced05473 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/systemjs.config.js
index c9bd65c8da..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/selected-cell-values/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/26.1.35/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/index.html b/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs2/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/index.html b/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/selection-cs3/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/sheet-visiblity-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/systemjs.config.js
index bc1de1c0b2..1de77ff67a 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/show-hide-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/sort-by-cell-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/template-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/template-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/template-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/template-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/template-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/template-cs1/systemjs.config.js
index c4aefa2df6..6b6a348ef3 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/template-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/template-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/index.html
index 9b0aaf6a6e..75eeaed8e1 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/undo-redo-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/systemjs.config.js
index 8ffd8c4316..391093dab6 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/unlock-cells-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
diff --git a/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/index.html
index e92c753aa9..2fb5b324fb 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/index.html
+++ b/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/index.html
@@ -7,7 +7,7 @@
-
+
diff --git a/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/systemjs.config.js
index 3646c46216..ed680b54d8 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/systemjs.config.js
+++ b/Document-Processing/code-snippet/spreadsheet/react/wrap-cs1/systemjs.config.js
@@ -14,7 +14,7 @@ System.config({
}
},
paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/23.1.36/"
+ "syncfusion:": "https://cdn.syncfusion.com/ej2/33.1.44/"
},
map: {
app: 'app',
From 06232e78c19e394267ecfde45733de872f357c7f Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Tue, 10 Mar 2026 20:53:59 +0530
Subject: [PATCH 012/345] 1014936: Need to add a how to section on "Customize
the spreadsheet like a grid" topic in Spreadsheet UG.
---
Document-Processing-toc.html | 1 +
.../how-to/customize-spreadsheet-as-grid.md | 60 +++
.../react/spreadsheet-as-grid-cs1/app/app.jsx | 231 ++++++++++
.../react/spreadsheet-as-grid-cs1/app/app.tsx | 231 ++++++++++
.../spreadsheet-as-grid-cs1/app/data.jsx | 422 ++++++++++++++++++
.../spreadsheet-as-grid-cs1/app/data.tsx | 422 ++++++++++++++++++
.../react/spreadsheet-as-grid-cs1/index.html | 38 ++
.../systemjs.config.js | 59 +++
8 files changed, 1464 insertions(+)
create mode 100644 Document-Processing/Excel/Spreadsheet/React/how-to/customize-spreadsheet-as-grid.md
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/app/app.jsx
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/app/app.tsx
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/app/data.jsx
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/app/data.tsx
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/index.html
create mode 100644 Document-Processing/code-snippet/spreadsheet/react/spreadsheet-as-grid-cs1/systemjs.config.js
diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html
index 65600c51f0..98537dcbd2 100644
--- a/Document-Processing-toc.html
+++ b/Document-Processing-toc.html
@@ -5441,6 +5441,7 @@
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
new file mode 100644
index 0000000000..ced0c7157b
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title: How to add new toolbar items in the React Spreadsheet component | Syncfusion
+description: Learn here how to add custom toolbar items in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Add Toolbar Items
+
+The Syncfusion React Spreadsheet component supports adding your own toolbar items to the ribbon.
+
+These items can perform custom actions or run your own functions helping you build a flexible toolbar.
+
+The following code sample shows how to add or remove toolbar items.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
new file mode 100644
index 0000000000..3b782cd770
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
@@ -0,0 +1,29 @@
+---
+layout: post
+title: How to create custom cell templates and display icons or elements in the React Spreadsheet component | Syncfusion
+description: Learn here how to add custom templates to show icons or controls in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Create Custom Cell Templates
+
+The Syncfusion React Spreadsheet component lets you display custom UI elements inside cells.
+
+You can insert icons, labels, buttons, or any custom templates. This is useful when you need custom functionality inside cells.
+
+You can add templates to cells by dynamically assigning a custom template property directly to individual cells. When a cell has this custom template property, you can use the [beforeCellRender](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#beforecellrender) event to append the desired template element to the cell.
+
+The following sample demonstrates how to insert a [Syncfusion Dropdown component](https://www.npmjs.com/package/@syncfusion/ej2-dropdowns) into Spreadsheet cells using this custom template property. Additionally, a custom ribbon item named "DropDown List" is included under a new "Template" ribbon tab. When this ribbon item is selected, the Spreadsheet dynamically inserts a dropdown into the currently active cell.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/dynamic-cell-template-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/dynamic-cell-template-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/dynamic-cell-template-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
new file mode 100644
index 0000000000..10759944b3
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
@@ -0,0 +1,28 @@
+---
+layout: post
+title: How to create custom ribbon tabs and items in the React Spreadsheet component | Syncfusion
+description: Learn here how to create new ribbon tabs and items to organize custom tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Create Custom Ribbon Tabs and Custom Items
+
+The Syncfusion React Spreadsheet component allows you to create your own ribbon tabs and items.
+
+You can add custom tabs using the method [addRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addribbontabs) and organize features based on your workflow.
+This is useful when you want a dedicated tab for your application tools.
+
+The following code sample shows how to create custom ribbon tabs and groups.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/custom-tab-and-item-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md
new file mode 100644
index 0000000000..44e1538c33
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md
@@ -0,0 +1,71 @@
+---
+layout: post
+title: How to customize the right‑click context menu with custom actions in the React Spreadsheet component | Syncfusion
+description: Learn here how to customize the context menu by adding or hiding items in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Customize Context Menu
+
+The Syncfusion React Spreadsheet component provides an easy way to customize the context menu.
+
+You can add custom menu items, hide default items, or change what happens when a user selects a menu option. This giving access to useful actions.
+
+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" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md
new file mode 100644
index 0000000000..ffda4cb533
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md
@@ -0,0 +1,34 @@
+---
+layout: post
+title: How to customize the ribbon toolbar and add your own actions in the React Spreadsheet component | Syncfusion
+description: Learn here how to customize the ribbon toolbar by adding, editing, or organizing tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Customize Ribbon Toolbar
+
+The Syncfusion React Spreadsheet component allows you to customize the ribbon toolbar to match your application needs.
+
+You can add new buttons, remove items, arrange tools and other modifications you need.
+This gives you full control over how the toolbar looks and what actions it provides.
+
+The following code sample shows how to customize the ribbon toolbar.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.tsx %}
+{% endhighlight %}
+{% highlight js tabtitle="datasource.jsx" %}
+{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/datasource.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="datasource.tsx" %}
+{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/datasource.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
new file mode 100644
index 0000000000..58ae492c2f
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title: How to hide or show ribbon tabs and toolbar items for a cleaner UI in the React Spreadsheet component | Syncfusion
+description: Learn here how to hide or show ribbon tabs and items to simplify the interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Hide or Show Ribbon Items
+
+The Syncfusion React Spreadsheet component lets you hide or show any ribbon tab or button.
+
+You can use this to simplify the interface, limit options, or display tools only when needed. This helps keep the UI clean and focused.
+
+The following code sample shows how to hide or show ribbon items.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
new file mode 100644
index 0000000000..86b713d351
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
@@ -0,0 +1,27 @@
+---
+layout: post
+title: How to integrate the Spreadsheet into dashboards, layouts, modals, and panels in the React Spreadsheet component | Syncfusion
+description: Learn here how to place the Spreadsheet inside any React layout in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Integrating Into Existing React Layouts
+
+The Syncfusion React Spreadsheet component can fit into any React layout, such as dashboards, sidebars, split panels, modals, or tabs.
+
+It automatically adjusts to its container, making it easy to build responsive and flexible page layouts.
+
+The following code sample shows how to integrate the Spreadsheet into a React layout.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/integrate-to-layouts-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/integrate-to-layouts-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/integrate-to-layouts-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
new file mode 100644
index 0000000000..974f83adba
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
@@ -0,0 +1,33 @@
+---
+layout: post
+title: How to apply themes and style the interface using Tailwind and CSS in the React Spreadsheet component | Syncfusion
+description: Learn here how to use built‑in themes and apply custom styles in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Theming and Styling
+
+The Syncfusion React Spreadsheet component supports multiple built‑in themes such as Tailwind, Material, Fluent, and Bootstrap.
+
+You can apply a theme by including the theme stylesheet. This helps you match the Spreadsheet with the rest of your application design.
+
+The following code sample shows how to apply themes and custom styles.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/app.tsx %}
+{% endhighlight %}
+{% highlight js tabtitle="datasource.jsx" %}
+{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/datasource.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="datasource.tsx" %}
+{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/datasource.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/theme-and-styling-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx
new file mode 100644
index 0000000000..031d375ed6
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx
@@ -0,0 +1,100 @@
+import * as React from 'react';
+import { createRoot } from 'react-dom/client';
+import {
+ SpreadsheetComponent,
+ SheetsDirective,
+ SheetDirective,
+ RangesDirective,
+ ColumnsDirective,
+ ColumnDirective,
+} from '@syncfusion/ej2-react-spreadsheet';
+
+function App() {
+ const spreadsheetRef = React.useRef(null);
+ const CUSTOM_IDS = {
+ quickNote: 'custom_quick_note',
+ highlight: 'custom_highlight',
+ clear: 'custom_clear',
+ };
+
+ const onQuickNote = () => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.updateCell({ value: 'Note' }, range);
+ };
+
+ const onHighlight = () => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.cellFormat({ backgroundColor: '#FFF9C4', color: '#5D4037' }, range);
+ };
+
+ const onClear = () => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.clear({ type: 'Clear All', range });
+ };
+
+ const handleCreated = () => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ spreadsheet.addToolbarItems('Home', [
+ {
+ id: CUSTOM_IDS.quickNote,
+ text: 'Quick Note',
+ tooltipText: 'Insert a short note in the current selection',
+ click: onQuickNote,
+ },
+ {
+ id: CUSTOM_IDS.highlight,
+ text: 'Highlight',
+ tooltipText: 'Highlight the current selection',
+ click: onHighlight,
+ },
+ {
+ id: CUSTOM_IDS.clear,
+ text: 'Clear',
+ tooltipText: 'Clear contents of the current selection',
+ click: onClear,
+ },
+ ]);
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default App;
+
+const root = createRoot(document.getElementById('root'));
+root.render();
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx
new file mode 100644
index 0000000000..805d7778ee
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx
@@ -0,0 +1,100 @@
+import * as React from 'react';
+import { createRoot } from 'react-dom/client';
+import {
+ SpreadsheetComponent,
+ SheetsDirective,
+ SheetDirective,
+ RangesDirective,
+ ColumnsDirective,
+ ColumnDirective,
+} from '@syncfusion/ej2-react-spreadsheet';
+
+function App(): React.ReactElement {
+ const spreadsheetRef = React.useRef(null);
+ const CUSTOM_IDS = {
+ quickNote: 'custom_quick_note',
+ highlight: 'custom_highlight',
+ clear: 'custom_clear',
+ };
+
+ const onQuickNote = (): void => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet: any = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.updateCell({ value: 'Note' } as any, range);
+ };
+
+ const onHighlight = (): void => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet: any = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.cellFormat({ backgroundColor: '#FFF9C4', color: '#5D4037' }, range);
+ };
+
+ const onClear = (): void => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ const sheet: any = spreadsheet.getActiveSheet();
+ const range = sheet.selectedRange || sheet.activeCell || 'A1';
+ spreadsheet.clear({ type: 'Clear All', range });
+ };
+
+ const handleCreated = (): void => {
+ const spreadsheet = spreadsheetRef.current;
+ if (!spreadsheet) return;
+ spreadsheet.addToolbarItems('Home', [
+ {
+ id: CUSTOM_IDS.quickNote,
+ text: 'Quick Note',
+ tooltipText: 'Insert a short note in the current selection',
+ click: onQuickNote,
+ },
+ {
+ id: CUSTOM_IDS.highlight,
+ text: 'Highlight',
+ tooltipText: 'Highlight the current selection',
+ click: onHighlight,
+ },
+ {
+ id: CUSTOM_IDS.clear,
+ text: 'Clear',
+ tooltipText: 'Clear contents of the current selection',
+ click: onClear,
+ },
+ ] as any);
+ };
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
+
+export default App;
+
+const root = createRoot(document.getElementById('root')!);
+root.render();
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/index.html
new file mode 100644
index 0000000000..8b6e016434
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1/index.html
@@ -0,0 +1,36 @@
+
+
+
+
+ Syncfusion React Spreadsheet
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Document-Processing/Excel/Spreadsheet/React/ui-customization.md b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
new file mode 100644
index 0000000000..9a67925f54
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
@@ -0,0 +1,34 @@
+---
+layout: post
+title: How to customize and control the user interface in the React Spreadsheet component | Syncfusion
+description: Learn here how to customize and manage the user interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# User Interface Customization
+
+The Syncfusion React Spreadsheet component provides many options to customize the user interface so it fits the needs of your application.
+
+You can control how the ribbon, toolbar items, tabs, context menu, and overall appearance behave. These options help you build a clean, simple, and user‑friendly spreadsheet experience.
+
+## Ribbon Tabs and Items
+
+The Spreadsheet Ribbon contains tabs such as Home, Insert, and Data, and each tab includes multiple items like buttons and dropdowns. You can add new tabs, create custom groups, add your own buttons, or hide and show built‑in tabs and items. This helps you design a Ribbon that matches the workflow and needs of your application.
+
+## Ribbon Customization Methods
+
+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. |
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
index ced0c7157b..0d65ab56bf 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
@@ -9,11 +9,13 @@ documentation: ug
# Add Toolbar Items
-The Syncfusion React Spreadsheet component supports adding your own toolbar items to the ribbon.
+Our Syncfusion React Spreadsheet component allows you to extend the Ribbon by adding your own toolbar items. These items can perform custom actions or run your own functions helping you build a flexible toolbar.
-These items can perform custom actions or run your own functions helping you build a flexible toolbar.
+To add these items, the component provides the [addToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addtoolbaritems) method, which lets you insert new tools into a chosen tab. This makes it simple to include your own actions.
-The following code sample shows how to add or remove toolbar items.
+You can add items to an existing tab or you can include them as part of a new Ribbon tab.
+
+The following code sample shows how to add toolbar items.
{% tabs %}
{% highlight js tabtitle="app.jsx" %}
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
index 3b782cd770..f61b6a2f28 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to create custom cell templates and display icons or elements in the React Spreadsheet component | Syncfusion
+title: Create custom cell templates and display icons or elements in the React Spreadsheet component | Syncfusion
description: Learn here how to add custom templates to show icons or controls in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
@@ -9,7 +9,7 @@ documentation: ug
# Create Custom Cell Templates
-The Syncfusion React Spreadsheet component lets you display custom UI elements inside cells.
+The Syncfusion React Spreadsheet component lets you display custom templates inside cells.
You can insert icons, labels, buttons, or any custom templates. This is useful when you need custom functionality inside cells.
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
index 10759944b3..8593a8f770 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to create custom ribbon tabs and items in the React Spreadsheet component | Syncfusion
+title: Create custom ribbon tabs and items in the React Spreadsheet component | Syncfusion
description: Learn here how to create new ribbon tabs and items to organize custom tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
@@ -9,10 +9,9 @@ documentation: ug
# Create Custom Ribbon Tabs and Custom Items
-The Syncfusion React Spreadsheet component allows you to create your own ribbon tabs and items.
+The Syncfusion React Spreadsheet component lets you create your own ribbon tabs and add custom items inside them.
-You can add custom tabs using the method [addRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addribbontabs) and organize features based on your workflow.
-This is useful when you want a dedicated tab for your application tools.
+You can create a new tab using the [addRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addribbontabs) method. With this, you can create a separate tab where you place the actions and features that you want. You can also add custom items inside these tabs. Each item can run your own functionality, allowing you to perform any action you need.
The following code sample shows how to create custom ribbon tabs and groups.
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md
index 44e1538c33..7cdd5d84f2 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-context-menu.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to customize the right‑click context menu with custom actions in the React Spreadsheet component | Syncfusion
+title: Customize the context menu with custom actions in the React Spreadsheet component | Syncfusion
description: Learn here how to customize the context menu by adding or hiding items in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md
deleted file mode 100644
index ffda4cb533..0000000000
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/customize-ribbon-toolbar.md
+++ /dev/null
@@ -1,34 +0,0 @@
----
-layout: post
-title: How to customize the ribbon toolbar and add your own actions in the React Spreadsheet component | Syncfusion
-description: Learn here how to customize the ribbon toolbar by adding, editing, or organizing tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: document-processing
-documentation: ug
----
-
-# Customize Ribbon Toolbar
-
-The Syncfusion React Spreadsheet component allows you to customize the ribbon toolbar to match your application needs.
-
-You can add new buttons, remove items, arrange tools and other modifications you need.
-This gives you full control over how the toolbar looks and what actions it provides.
-
-The following code sample shows how to customize the ribbon toolbar.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.tsx %}
-{% endhighlight %}
-{% highlight js tabtitle="datasource.jsx" %}
-{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/datasource.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="datasource.tsx" %}
-{% include code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/datasource.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
index 58ae492c2f..c92afa7e5e 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to hide or show ribbon tabs and toolbar items for a cleaner UI in the React Spreadsheet component | Syncfusion
+title: Hide or show ribbon tabs and toolbar items in the React Spreadsheet component | Syncfusion
description: Learn here how to hide or show ribbon tabs and items to simplify the interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
@@ -9,9 +9,9 @@ documentation: ug
# Hide or Show Ribbon Items
-The Syncfusion React Spreadsheet component lets you hide or show any ribbon tab or button.
+The Syncfusion React Spreadsheet component allows you to hide or show ribbon tabs and toolbar items. This helps you create a simple and clean user interface by showing only the tools that are needed.
-You can use this to simplify the interface, limit options, or display tools only when needed. This helps keep the UI clean and focused.
+You can hide any ribbon tab by using the [hideRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hideribbontabs) method. You can hide toolbar items using the [hideToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hidetoolbaritems) method, where the items are hidden based on their index in the tab.
The following code sample shows how to hide or show ribbon items.
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
index 974f83adba..1ddd9d8dcc 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to apply themes and style the interface using Tailwind and CSS in the React Spreadsheet component | Syncfusion
+title: How to apply themes and styles in the React Spreadsheet component | Syncfusion
description: Learn here how to use built‑in themes and apply custom styles in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
@@ -9,25 +9,286 @@ documentation: ug
# Theming and Styling
-The Syncfusion React Spreadsheet component supports multiple built‑in themes such as Tailwind, Material, Fluent, and Bootstrap.
+The Syncfusion React Spreadsheet component supports many themes and also allows you to apply your own custom styles.
-You can apply a theme by including the theme stylesheet. This helps you match the Spreadsheet with the rest of your application design.
+By default, the Spreadsheet uses the Material theme. If you want to change the colors, spacing, or style, you can customize the theme using the Theme Studio. Theme Studio lets you pick a theme, modify colors, and download a ready‑to‑use CSS file for your project.
-The following code sample shows how to apply themes and custom styles.
+You can open Theme Studio here:
+https://ej2.syncfusion.com/themestudio/?theme=material
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/app.tsx %}
-{% endhighlight %}
-{% highlight js tabtitle="datasource.jsx" %}
-{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/datasource.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="datasource.tsx" %}
-{% include code-snippet/spreadsheet/react/theme-and-styling-cs1/app/datasource.tsx %}
-{% endhighlight %}
-{% endtabs %}
+Theme Studio documentation:
+https://ej2.syncfusion.com/react/documentation/appearance/theme-studio
-{% previewsample "/document-processing/code-snippet/spreadsheet/react/theme-and-styling-cs1" %}
\ No newline at end of file
+
+## Supported Themes
+Syncfusion React components provide a wide range of themes. Below is the list of all currently supported themes and their CSS file names:
+
+Theme Style | CSS file
+--- | ---
+Tailwind 3.4 | tailwind3.css
+Tailwind 3.4 Dark | tailwind3-dark.css
+Bootstrap 5.3 | bootstrap5.3.css
+Bootstrap 5.3 Dark | bootstrap5.3-dark.css
+Fluent 2 | fluent2.css
+Fluent 2 Dark | fluent2-dark.css
+Material 3 | material3.css
+Material 3 Dark | material3-dark.css
+Bootstrap 5 | bootstrap5.css
+Bootstrap 5 Dark | bootstrap5-dark.css
+Bootstrap 4 | bootstrap4.css
+Bootstrap 3 | bootstrap.css
+Bootstrap 3 Dark | bootstrap-dark.css
+Material | material.css
+Material Dark | material-dark.css
+Tailwind CSS | tailwind.css
+Tailwind CSS Dark | tailwind-dark.css
+Fluent | fluent.css
+Fluent Dark | fluent-dark.css
+Microsoft Office Fabric | fabric.css
+Microsoft Office Fabric Dark | fabric-dark.css
+High Contrast | highcontrast.css
+
+# CSS Customization
+
+To modify the Spreadsheet appearance, you need to override the default CSS of the spreadsheet.You can change colors, borders, fonts, and layout using your custom CSS.
+
+You can refer to the CSS styling documentation here:
+https://ej2.syncfusion.com/react/documentation/spreadsheet/styles
+
+
+Please find the CSS structure that can be used to modify the Spreadsheet appearance.
+
+## Customizing the Spreadsheet
+
+Use the below CSS to customize the Spreadsheet root element.
+
+```
+
+.e-spreadsheet {
+ font-family: cursive;
+}
+
+```
+
+## Header
+
+### Customizing the Spreadsheet Ribbon
+
+Use the below CSS to customize the Spreadsheet Ribbon.
+
+```
+
+.e-spreadsheet .e-ribbon {
+ background-color: #808080;
+}
+
+```
+
+### Customizing the Spreadsheet formula bar panel
+
+You can customize the Spreadsheet formula bar panel by using this CSS.
+
+```
+
+.e-spreadsheet .e-formula-bar-panel {
+ border: none;
+}
+
+```
+
+### Customizing the Spreadsheet formula bar text
+
+You can customize the Spreadsheet formula bar text by using this CSS.
+
+```
+
+.e-spreadsheet .e-formula-bar-panel .e-formula-bar {
+ font-weight: bold;
+}
+
+```
+
+## Sheet
+
+### Customizing the Spreadsheet sheet element
+
+Using this CSS, you can customize the Spreadsheet sheet element.
+
+```
+
+.e-spreadsheet .e-sheet-panel .e-sheet {
+ border-color: #000000;
+}
+
+```
+
+### Customizing the Spreadsheet sheet header
+
+Use the below CSS to customize the Spreadsheet sheet header.
+
+```
+
+.e-spreadsheet .e-sheet-panel .e-sheet .e-header-panel {
+ font-style: oblique;
+}
+
+```
+
+### Customizing the Spreadsheet row header
+
+Use the below CSS to customize the Spreadsheet row header.
+
+```
+.e-spreadsheet .e-row-header .e-header-cell {
+ color: #0000FF !important;
+}
+
+```
+
+### Customizing the Spreadsheet column header
+
+Use the below CSS to customize the Spreadsheet column header.
+
+```
+.e-spreadsheet .e-column-header .e-header-cell {
+ color: #0000FF !important;
+}
+
+```
+
+### Customizing the Spreadsheet selection element
+
+Customize the Spreadsheet selection element.
+
+```
+
+.e-spreadsheet .e-selection {
+ border-color: #0000FF;
+}
+
+```
+
+### Customizing the Spreadsheet active cell element
+
+Customize the Spreadsheet active cell element.
+
+```
+
+.e-spreadsheet .e-active-cell {
+ border-color: #0000FF;
+}
+
+```
+
+### Customizing the Spreadsheet cell element
+
+Using this CSS, you can customize the Spreadsheet cell element.
+
+```
+
+.e-spreadsheet .e-cell {
+ background-color: #0078d7 !important;
+}
+
+```
+
+## Ribbon Items
+
+### Customizing the Spreadsheet sorting icon
+
+Use the below CSS to customize the Spreadsheet sorting icon in the Spreadsheet ribbon. You can use the available Syncfusion® [icons](https://ej2.syncfusion.com/documentation/appearance/icons/#material) based on your theme.
+
+```
+
+.e-spreadsheet .e-sort-filter-icon:before {
+ background-color: #deecf9;
+ content: '\e306';
+}
+
+```
+
+### Customizing the filter dialog content
+
+Use the below CSS to customize the Spreadsheet filter dialog content element.
+
+```
+
+.e-spreadsheet .e-filter-popup .e-dlg-content {
+ background-color: #deecf9;
+}
+
+```
+
+### Customizing the filter dialog footer
+
+Spreadsheet filter dialog footer element can be customized by using the below CSS.
+
+```
+
+.e-spreadsheet .e-filter-popup .e-footer-content {
+ background-color: #ccffff;
+}
+
+```
+
+### Customizing the filter dialog input element
+
+Use the below CSS to customize the Spreadsheet filter dialog input element.
+
+```
+
+.e-spreadsheet .e-filter-popup .e-input-group input.e-input{
+ font-family: cursive;
+}
+
+```
+
+### Customizing the filter dialog button element
+
+Use the below CSS to customize the Spreadsheet filter dialog button element.
+
+```
+
+.e-spreadsheet .e-filter-popup .e-btn{
+ font-family: cursive;
+}
+
+```
+
+### Customizing the Excel filter dialog number filters element
+
+Spreadsheet Excel filter dialog number filters element can be customized by using the below CSS.
+
+```
+
+.e-spreadsheet .e-filter-popup .e-contextmenu-wrapper ul{
+ background-color: #deecf9;
+}
+
+```
+
+## Footer
+
+### Customizing the Spreadsheet sheet tab panel
+
+Spreadsheet sheet tab panel can be customized by using the below CSS.
+
+```
+
+.e-spreadsheet .e-sheet-tab-panel {
+ background: #08fbfb;
+}
+
+```
+
+### Customizing the Spreadsheet sheet tab
+
+Spreadsheet sheet tab element can be customized by using the below CSS.
+
+```
+
+.e-spreadsheet .e-sheet-tab-panel .e-tab-header .e-toolbar-item.e-active .e-tab-wrap .e-tab-text {
+ font-weight: bold;
+}
+
+```
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.jsx b/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.jsx
deleted file mode 100644
index 312baae419..0000000000
--- a/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/app/app.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import * as React from 'react';
-import { createRoot } from 'react-dom/client';
-import { SpreadsheetComponent, SheetsDirective, SheetDirective, RangesDirective, RangeDirective} from '@syncfusion/ej2-react-spreadsheet';
-import { defaultData } from './datasource';
-
-function App() {
- const spreadsheetRef = React.useRef(null);
-
- const applyBoldToSelection = () => {
- const spreadsheet = spreadsheetRef.current;
- if (!spreadsheet) return;
- const sheet = spreadsheet.getActiveSheet();
- const range = sheet.selectedRange || sheet.activeCell || 'A1';
- spreadsheet.cellFormat({ fontWeight: 'bold' }, range);
- };
-
- const highlightSelection = () => {
- const spreadsheet = spreadsheetRef.current;
- if (!spreadsheet) return;
- const sheet = spreadsheet.getActiveSheet();
- const range = sheet.selectedRange || sheet.activeCell || 'A1';
- spreadsheet.cellFormat({ backgroundColor: '#FFF3CD', color: '#7A5A00' }, range);
- spreadsheet.cellFormat({ border: '1px solid #E0B252' }, range);
- };
-
- const handleCreated = () => {
- const spreadsheet = spreadsheetRef.current;
- if (!spreadsheet) return;
-
- // Add a custom tab to the Ribbon with custom tools
- spreadsheet.addRibbonTabs([
- {
- header: { text: 'Customize' },
- content: [
- {
- text: 'Bold Selection',
- tooltipText: 'Apply bold to current selection',
- click: () => applyBoldToSelection(),
- },
- {
- text: 'Highlight',
- tooltipText: 'Add highlight fill + border',
- click: () => highlightSelection(),
- },
- ],
- },
- ]);
- };
-
- return (
-
-
-
-
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/systemjs.config.js b/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/systemjs.config.js
deleted file mode 100644
index 9290509c4a..0000000000
--- a/Document-Processing/code-snippet/spreadsheet/react/customize-ribbon-toolbar-cs1/systemjs.config.js
+++ /dev/null
@@ -1,58 +0,0 @@
-System.config({
- transpiler: "ts",
- typescriptOptions: {
- target: "es5",
- module: "commonjs",
- moduleResolution: "node",
- emitDecoratorMetadata: true,
- experimentalDecorators: true,
- "jsx": "react"
- },
- meta: {
- 'typescript': {
- "exports": "ts"
- }
- },
- paths: {
- "syncfusion:": "https://cdn.syncfusion.com/ej2/32.1.19/"
- },
- map: {
- app: 'app',
- ts: "https://unpkg.com/plugin-typescript@4.0.10/lib/plugin.js",
- typescript: "https://unpkg.com/typescript@2.2.2/lib/typescript.js",
- "@syncfusion/ej2-base": "syncfusion:ej2-base/dist/ej2-base.umd.min.js",
- "@syncfusion/ej2-data": "syncfusion:ej2-data/dist/ej2-data.umd.min.js",
- "@syncfusion/ej2-lists": "syncfusion:ej2-lists/dist/ej2-lists.umd.min.js",
- "@syncfusion/ej2-navigations": "syncfusion:ej2-navigations/dist/ej2-navigations.umd.min.js",
- "@syncfusion/ej2-notifications": "syncfusion:ej2-notifications/dist/ej2-notifications.umd.min.js",
- "@syncfusion/ej2-popups": "syncfusion:ej2-popups/dist/ej2-popups.umd.min.js",
- "@syncfusion/ej2-dropdowns": "syncfusion:ej2-dropdowns/dist/ej2-dropdowns.umd.min.js",
- "@syncfusion/ej2-inputs": "syncfusion:ej2-inputs/dist/ej2-inputs.umd.min.js",
- "@syncfusion/ej2-splitbuttons": "syncfusion:ej2-splitbuttons/dist/ej2-splitbuttons.umd.min.js",
- "@syncfusion/ej2-buttons": "syncfusion:ej2-buttons/dist/ej2-buttons.umd.min.js",
- "@syncfusion/ej2-calendars": "syncfusion:ej2-calendars/dist/ej2-calendars.umd.min.js",
- "@syncfusion/ej2-excel-export": "syncfusion:ej2-excel-export/dist/ej2-excel-export.umd.min.js",
- "@syncfusion/ej2-pdf-export": "syncfusion:ej2-pdf-export/dist/ej2-pdf-export.umd.min.js",
- "@syncfusion/ej2-file-utils": "syncfusion:ej2-file-utils/dist/ej2-file-utils.umd.min.js",
- "@syncfusion/ej2-compression": "syncfusion:ej2-compression/dist/ej2-compression.umd.min.js",
- "@syncfusion/ej2-grids": "syncfusion:ej2-grids/dist/ej2-grids.umd.min.js",
- "@syncfusion/ej2-charts": "syncfusion:ej2-charts/dist/ej2-charts.umd.min.js",
- "@syncfusion/ej2-svg-base": "syncfusion:ej2-svg-base/dist/ej2-svg-base.umd.min.js",
- "@syncfusion/ej2-spreadsheet": "syncfusion:ej2-spreadsheet/dist/ej2-spreadsheet.umd.min.js",
- "@syncfusion/ej2-react-base": "syncfusion:ej2-react-base/dist/ej2-react-base.umd.min.js",
- "@syncfusion/ej2-react-spreadsheet": "syncfusion:ej2-react-spreadsheet/dist/ej2-react-spreadsheet.umd.min.js",
- "react-dom/client": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js",
- "react-dom": "https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js",
- "react": "https://unpkg.com/react@18.2.0/umd/react.production.min.js",
-
- },
- packages: {
- 'app': { main: 'app', defaultExtension: 'tsx' },
- }
-
-});
-
-System.import('app');
-
-
-
diff --git a/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx b/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx
index 5a8a8da4e4..eb0d121471 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx
+++ b/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx
@@ -12,7 +12,7 @@ function App() {
const hideInsertTab = () => {
const spreadsheet = spreadsheetRef.current;
if (!spreadsheet) return;
- spreadsheet.hideRibbonTabs(['Insert']); // Hide "Insert" tab
+ spreadsheet.hideRibbonTabs(['Insert']);
};
const showInsertTab = () => {
diff --git a/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx b/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx
index 35fd0d9352..0326e792c2 100644
--- a/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx
+++ b/Document-Processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx
@@ -12,7 +12,7 @@ function App(): React.ReactElement {
const hideInsertTab = (): void => {
const spreadsheet = spreadsheetRef.current;
if (!spreadsheet) return;
- spreadsheet.hideRibbonTabs(['Insert']); // Hide "Insert" tab
+ spreadsheet.hideRibbonTabs(['Insert']);
};
const showInsertTab = (): void => {
From ec4d57b62201fc93010735b9c3b519bc51983ad1 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Thu, 12 Mar 2026 17:11:44 +0530
Subject: [PATCH 016/345] 1015310: added User Interface Customization details
in react spreadsheet ug documentation
---
.../Spreadsheet/React/ui-customization.md | 20 +++++++++----------
.../add-toolbar-items.md | 2 +-
.../custom-cell-templates.md | 2 +-
.../custom-ribbon-tabs-and-items.md | 4 ++--
.../hide-or-show-ribbon-items.md | 2 +-
...integrating-into-existing-react-layouts.md | 2 +-
.../theming-and-styling.md | 2 +-
7 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/ui-customization.md b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
index 9a67925f54..1fe4ad84f0 100644
--- a/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
+++ b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to customize and control the user interface in the React Spreadsheet component | Syncfusion
+title: UI Customization in React Spreadsheet component | Syncfusion
description: Learn here how to customize and manage the user interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
@@ -23,12 +23,12 @@ 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. |
+| [`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. |
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
index 0d65ab56bf..0d64b07f48 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to add new toolbar items in the React Spreadsheet component | Syncfusion
+title: Add toolbar items in React Spreadsheet component | Syncfusion
description: Learn here how to add custom toolbar items in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
index f61b6a2f28..ee1f442ef7 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-cell-templates.md
@@ -1,6 +1,6 @@
---
layout: post
-title: Create custom cell templates and display icons or elements in the React Spreadsheet component | Syncfusion
+title: Custom templates in react spreadsheet component | syncfusion
description: Learn here how to add custom templates to show icons or controls in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
index 8593a8f770..37d92cb220 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
@@ -1,13 +1,13 @@
---
layout: post
-title: Create custom ribbon tabs and items in the React Spreadsheet component | Syncfusion
+title: Create ribbon tabs in react spreadsheet component | syncfusion
description: Learn here how to create new ribbon tabs and items to organize custom tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
documentation: ug
---
-# Create Custom Ribbon Tabs and Custom Items
+# Create Custom Ribbon Tabs and Items
The Syncfusion React Spreadsheet component lets you create your own ribbon tabs and add custom items inside them.
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
index c92afa7e5e..b75a5537af 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
@@ -1,6 +1,6 @@
---
layout: post
-title: Hide or show ribbon tabs and toolbar items in the React Spreadsheet component | Syncfusion
+title: Hide or show tabs in React Spreadsheet component | Syncfusion
description: Learn here how to hide or show ribbon tabs and items to simplify the interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
index 86b713d351..b63b96ed86 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to integrate the Spreadsheet into dashboards, layouts, modals, and panels in the React Spreadsheet component | Syncfusion
+title: Integrating the React Spreadsheet component | Syncfusion
description: Learn here how to place the Spreadsheet inside any React layout in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
index 1ddd9d8dcc..b47003f7e9 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
@@ -1,6 +1,6 @@
---
layout: post
-title: How to apply themes and styles in the React Spreadsheet component | Syncfusion
+title: Theme and style in React Spreadsheet component | Syncfusion
description: Learn here how to use built‑in themes and apply custom styles in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
control: Spreadsheet
platform: document-processing
From 14d5fd35b3722bf30b26579bebc87965bc8b42ff Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Thu, 12 Mar 2026 17:13:14 +0530
Subject: [PATCH 017/345] 1015310: added User Interface Customization details
in react spreadsheet ug documentation
---
.../integrating-into-existing-react-layouts.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
index b63b96ed86..73a4ff8559 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/integrating-into-existing-react-layouts.md
@@ -9,7 +9,7 @@ documentation: ug
# Integrating Into Existing React Layouts
-The Syncfusion React Spreadsheet component can fit into any React layout, such as dashboards, sidebars, split panels, modals, or tabs.
+The Syncfusion React Spreadsheet component can fit into any React layout, such as dashboards, sidebars, split panels, models, or tabs.
It automatically adjusts to its container, making it easy to build responsive and flexible page layouts.
From 317aac1841b466b8e23a14d313d8f9836baaaa23 Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Thu, 12 Mar 2026 18:55:52 +0530
Subject: [PATCH 018/345] 1015310: added User Interface Customization details
in react spreadsheet ug documentation
---
Document-Processing-toc.html | 5 +-
.../Excel/Spreadsheet/React/border.md | 101 ++++++++++++++++++
.../Spreadsheet/React/ui-customization.md | 77 ++++++++++---
.../add-toolbar-items.md | 29 -----
.../custom-ribbon-tabs-and-items.md | 27 -----
.../hide-or-show-ribbon-items.md | 27 -----
.../theming-and-styling.md | 34 ++----
7 files changed, 168 insertions(+), 132 deletions(-)
create mode 100644 Document-Processing/Excel/Spreadsheet/React/border.md
delete mode 100644 Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
delete mode 100644 Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
delete mode 100644 Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html
index c3c9f5fcab..4c6c91c4b2 100644
--- a/Document-Processing-toc.html
+++ b/Document-Processing-toc.html
@@ -5454,12 +5454,9 @@
diff --git a/Document-Processing/Excel/Spreadsheet/React/border.md b/Document-Processing/Excel/Spreadsheet/React/border.md
new file mode 100644
index 0000000000..0589298104
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/border.md
@@ -0,0 +1,101 @@
+---
+layout: post
+title: Border formatting in React Spreadsheet component | Syncfusion
+description: Learn here how to apply and customize borders in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Spreadsheet
+platform: document-processing
+documentation: ug
+---
+
+# Border
+
+The Syncfusion React Spreadsheet component allows you to apply borders to a cell or a range of cells. Borders help you separate sections, highlight data, or format tables clearly in your worksheet. You can apply borders in different styles, sizes, and colors based on your needs.
+
+## Border Types
+
+The Spreadsheet supports many types of borders. Each type adds a border to a specific side or area of the selected cells:
+
+| 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.|
+
+## Border Size and Styles
+
+You can also change how the border looks by adjusting its size and style. The Spreadsheet supports the following options:
+
+| 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.|
+
+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. The [border](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cellstylemodel#border) property is part of [CellStyleModel](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/cellstylemodel) and is applied via the cell's `style` object.
+- Using the [setBorder](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#setborder) method, you can set various border options to a cell or range of cells.
+- Selecting the border options from the ribbon toolbar.
+
+## Programmatic Borders
+
+You can apply borders programmatically at initial load or at runtime. Borders may be set on individual cell styles in the sheet model or applied via the Spreadsheet API methods.
+
+### Set border in the sheet model
+
+Assign a `border` style on a cell in the `sheets` configuration to apply borders when the Spreadsheet renders:
+
+```js
+const sheets = [{
+ rows: [{
+ cells: [
+ { index: 0, value: 'Header', style: { border: '2px solid #333333' } },
+ { index: 1, value: 'Value', style: { border: '1px dashed #0078d7' } }
+ ]
+ }]
+}];
+
+
+```
+
+### Apply borders at runtime
+
+The Spreadsheet exposes methods to change formatting at runtime. Use the setBorder method to apply or update borders for a range from your code:
+
+```js
+spreadsheet.setBorder({ border: '1px solid #e0e0e0' }, 'A3:E12', 'Outer');
+```
+
+### Remove borders
+
+To remove the border style on the target cells, use the UI "No Border" option in the ribbon.
+
+The following code example shows the style formatting in text and cells of the spreadsheet.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/cellformat-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/cellformat-cs1/app/app.tsx %}
+{% endhighlight %}
+{% highlight js tabtitle="datasource.jsx" %}
+{% include code-snippet/spreadsheet/react/cellformat-cs1/app/datasource.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="datasource.tsx" %}
+{% include code-snippet/spreadsheet/react/cellformat-cs1/app/datasource.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+ {% previewsample "/document-processing/code-snippet/spreadsheet/react/cellformat-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/ui-customization.md b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
index 1fe4ad84f0..57e086054e 100644
--- a/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
+++ b/Document-Processing/Excel/Spreadsheet/React/ui-customization.md
@@ -9,26 +9,69 @@ documentation: ug
# User Interface Customization
-The Syncfusion React Spreadsheet component provides many options to customize the user interface so it fits the needs of your application.
+The Syncfusion React Spreadsheet component provides options to customize the user interface and control the behavior of its UI components.
-You can control how the ribbon, toolbar items, tabs, context menu, and overall appearance behave. These options help you build a clean, simple, and user‑friendly spreadsheet experience.
+You can control the ribbon, toolbar items, tabs, context menu, and overall appearance. Use these options to show, hide, or modify UI elements, attach custom behavior, and surface application actions.
-## Ribbon Tabs and Items
+## Ribbon Tabs
-The Spreadsheet Ribbon contains tabs such as Home, Insert, and Data, and each tab includes multiple items like buttons and dropdowns. You can add new tabs, create custom groups, add your own buttons, or hide and show built‑in tabs and items. This helps you design a Ribbon that matches the workflow and needs of your application.
+The Spreadsheet Ribbon contains tabs such as Home, Insert, and Data, and each tab includes multiple items like buttons and dropdowns. You can add new tabs, create custom groups, add buttons or controls, and hide or show built‑in tabs and items. Use these to organize commands, expose actions, or integrate custom functionality into the Ribbon.
-## Ribbon Customization Methods
+## Add Toolbar Items
-You can customize the ribbon using the following methods:
+The Syncfusion React Spreadsheet component allows you to extend the Ribbon by adding custom toolbar items. You can make Toolbar items to execute custom actions.
-| 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. |
+To add these items, the component provides the [addToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addtoolbaritems) method, which lets you insert new tools into a chosen tab. This makes it simple to include your own actions.
+
+You can add items to an existing tab or you can include them as part of a new Ribbon tab.
+
+The following code sample shows how to add toolbar items.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1" %}
+
+## Create Custom Ribbon Tabs and Items
+
+The Syncfusion React Spreadsheet component lets you create your own ribbon tabs and add custom items inside them.
+
+You can create a new tab using the [addRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addribbontabs) method. With this, you can create a separate tab where you place the actions and features that you want. You can also add custom items inside these tabs. Each item can run your own functionality, allowing you to perform any action you need.
+
+The following code sample shows how to create custom ribbon tabs and groups.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/custom-tab-and-item-cs1" %}
+
+## Hide or Show Ribbon Items
+
+The Syncfusion React Spreadsheet component allows you to hide or show ribbon tabs and toolbar items. This helps you create a simple and clean user interface by showing only the tools that are needed.
+
+You can hide any ribbon tab by using the [hideRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hideribbontabs) method. You can hide toolbar items using the [hideToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hidetoolbaritems) method, where the items are hidden based on their index in the tab.
+
+The following code sample shows how to hide or show ribbon items.
+
+{% tabs %}
+{% highlight js tabtitle="app.jsx" %}
+{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx %}
+{% endhighlight %}
+{% highlight ts tabtitle="app.tsx" %}
+{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
deleted file mode 100644
index 0d64b07f48..0000000000
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/add-toolbar-items.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-layout: post
-title: Add toolbar items in React Spreadsheet component | Syncfusion
-description: Learn here how to add custom toolbar items in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: document-processing
-documentation: ug
----
-
-# Add Toolbar Items
-
-Our Syncfusion React Spreadsheet component allows you to extend the Ribbon by adding your own toolbar items. These items can perform custom actions or run your own functions helping you build a flexible toolbar.
-
-To add these items, the component provides the [addToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addtoolbaritems) method, which lets you insert new tools into a chosen tab. This makes it simple to include your own actions.
-
-You can add items to an existing tab or you can include them as part of a new Ribbon tab.
-
-The following code sample shows how to add toolbar items.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/add-toolbar-items-cs1/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/spreadsheet/react/add-toolbar-items-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
deleted file mode 100644
index 37d92cb220..0000000000
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/custom-ribbon-tabs-and-items.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Create ribbon tabs in react spreadsheet component | syncfusion
-description: Learn here how to create new ribbon tabs and items to organize custom tools in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: document-processing
-documentation: ug
----
-
-# Create Custom Ribbon Tabs and Items
-
-The Syncfusion React Spreadsheet component lets you create your own ribbon tabs and add custom items inside them.
-
-You can create a new tab using the [addRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#addribbontabs) method. With this, you can create a separate tab where you place the actions and features that you want. You can also add custom items inside these tabs. Each item can run your own functionality, allowing you to perform any action you need.
-
-The following code sample shows how to create custom ribbon tabs and groups.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/custom-tab-and-item-cs1/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/spreadsheet/react/custom-tab-and-item-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
deleted file mode 100644
index b75a5537af..0000000000
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/hide-or-show-ribbon-items.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title: Hide or show tabs in React Spreadsheet component | Syncfusion
-description: Learn here how to hide or show ribbon tabs and items to simplify the interface in Syncfusion React Spreadsheet component of Syncfusion Essential JS 2 and more.
-control: Spreadsheet
-platform: document-processing
-documentation: ug
----
-
-# Hide or Show Ribbon Items
-
-The Syncfusion React Spreadsheet component allows you to hide or show ribbon tabs and toolbar items. This helps you create a simple and clean user interface by showing only the tools that are needed.
-
-You can hide any ribbon tab by using the [hideRibbonTabs](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hideribbontabs) method. You can hide toolbar items using the [hideToolbarItems](https://ej2.syncfusion.com/react/documentation/api/spreadsheet/index-default#hidetoolbaritems) method, where the items are hidden based on their index in the tab.
-
-The following code sample shows how to hide or show ribbon items.
-
-{% tabs %}
-{% highlight js tabtitle="app.jsx" %}
-{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.jsx %}
-{% endhighlight %}
-{% highlight ts tabtitle="app.tsx" %}
-{% include code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1/app/app.tsx %}
-{% endhighlight %}
-{% endtabs %}
-
-{% previewsample "/document-processing/code-snippet/spreadsheet/react/show-or-hide-ribbon-items-cs1" %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
index b47003f7e9..bb70732406 100644
--- a/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
+++ b/Document-Processing/Excel/Spreadsheet/React/user-interface-customization/theming-and-styling.md
@@ -19,34 +19,13 @@ https://ej2.syncfusion.com/themestudio/?theme=material
Theme Studio documentation:
https://ej2.syncfusion.com/react/documentation/appearance/theme-studio
-
## Supported Themes
-Syncfusion React components provide a wide range of themes. Below is the list of all currently supported themes and their CSS file names:
-
-Theme Style | CSS file
---- | ---
-Tailwind 3.4 | tailwind3.css
-Tailwind 3.4 Dark | tailwind3-dark.css
-Bootstrap 5.3 | bootstrap5.3.css
-Bootstrap 5.3 Dark | bootstrap5.3-dark.css
-Fluent 2 | fluent2.css
-Fluent 2 Dark | fluent2-dark.css
-Material 3 | material3.css
-Material 3 Dark | material3-dark.css
-Bootstrap 5 | bootstrap5.css
-Bootstrap 5 Dark | bootstrap5-dark.css
-Bootstrap 4 | bootstrap4.css
-Bootstrap 3 | bootstrap.css
-Bootstrap 3 Dark | bootstrap-dark.css
-Material | material.css
-Material Dark | material-dark.css
-Tailwind CSS | tailwind.css
-Tailwind CSS Dark | tailwind-dark.css
-Fluent | fluent.css
-Fluent Dark | fluent-dark.css
-Microsoft Office Fabric | fabric.css
-Microsoft Office Fabric Dark | fabric-dark.css
-High Contrast | highcontrast.css
+
+The Syncfusion React Spreadsheet component supports many built‑in themes and also allows you to apply your own custom styles. Applying a theme loads the corresponding CSS file and changes the component's appearance consistently across the UI.
+
+Below is the reference link for the list of supported themes and their CSS filenames.
+
+Theme documentation: https://ej2.syncfusion.com/react/documentation/appearance/theme
# CSS Customization
@@ -55,7 +34,6 @@ To modify the Spreadsheet appearance, you need to override the default CSS of th
You can refer to the CSS styling documentation here:
https://ej2.syncfusion.com/react/documentation/spreadsheet/styles
-
Please find the CSS structure that can be used to modify the Spreadsheet appearance.
## Customizing the Spreadsheet
From b952d9b4e4e927c2be360f231c44271d96752689 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Thu, 12 Mar 2026 20:27:05 +0530
Subject: [PATCH 019/345] 1015405: Add "Web Services" Section for Spreadsheet
Open/Save in ASP.NET Core & MVC
---
Document-Processing-toc.html | 7 +
.../webservice-using-aspnetcore.md | 120 +++++++++++++
.../webservice-using-aspnetmvc.md | 125 +++++++++++++
.../web-services/webservice-using-wcf.md | 168 ++++++++++++++++++
4 files changed, 420 insertions(+)
create mode 100644 Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
create mode 100644 Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
create mode 100644 Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html
index fcb4c4de48..6329ef0dcd 100644
--- a/Document-Processing-toc.html
+++ b/Document-Processing-toc.html
@@ -5394,6 +5394,13 @@
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
new file mode 100644
index 0000000000..ca01724c02
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
@@ -0,0 +1,120 @@
+# Connecting Local Web Services for Spreadsheet Open and Save in ASP.NET Core
+
+This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using ASP.NET Core.
+
+By default, the Syncfusion Spreadsheet component uses Syncfusion®-hosted endpoints for file operations:
+
+```ts
+openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
+```
+
+However, these demo services are intended only for **demonstration purposes** and are not recommended for **production or development environments**.
+
+**Benefits of hosting your own service:**
+- **Full Control** – Manage your data and processes locally.
+- **Better Performance** – Reduce latency with local or private hosting.
+- **Security** – Keep sensitive files within your infrastructure.
+- **Reliability** – Remain independent of Syncfusion's service availability.
+- **Customization** – Add custom business logic and workflows.
+- **Compliance** – Meet regulatory and data residency requirements.
+
+## Create a New ASP.NET Core Web API Project
+
+To create a new ASP.NET Core Web API project, follow the steps in the link below:
+
+[Tutorial: Create a controller-based web API with ASP.NET Core | Microsoft Learn](https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-10.0&source=recommendations&tabs=visual-studio#create-a-web-api-project)
+
+## Dependencies
+
+Open and save helper functions are provided in the
+[`Syncfusion.EJ2.Spreadsheet.AspNet.Core`](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core#dependencies-body-tab) package, which is available in Essential Studio and on [nuget.org](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.Core#readme-body-tab).
+
+## Add Open and Save Controllers
+
+Once the Web API is created, add the following Open and Save controller code to your controller file to enable open and save actions:
+
+```csharp
+// Open action
+[HttpPost]
+[Route("Open")]
+public IActionResult Open([FromForm] IFormCollection openRequest)
+{
+ OpenRequest open = new OpenRequest();
+ open.File = openRequest.Files[0];
+ return Content(Workbook.Open(open));
+}
+
+// Save action
+[HttpPost]
+[Route("Save")]
+public IActionResult Save([FromForm] SaveSettings saveSettings)
+{
+ return Workbook.Save(saveSettings);
+}
+```
+
+## Run the Web API Project
+
+After adding the controller code, build and run the Web API project by following the instructions in the link below:
+
+[Run the ASP.NET Core Web API project](https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-10.0&source=recommendations&tabs=visual-studio#run-the-project)
+
+## Configuring the Client-Side URLs
+
+Once your local service is running, configure your client app to use the local endpoints:
+
+```jsx
+
+```
+
+## Configuring File Size Limits
+
+When working with large Excel files, it is important to configure file size limits to prevent server-side exceptions.
+
+**web.config**
+```xml
+
+
+
+
+
+
+
+
+
+
+
+```
+
+**Program.cs:**
+```csharp
+builder.Services.Configure(options =>
+{
+ options.MultipartBodyLengthLimit = int.MaxValue;
+ options.ValueLengthLimit = int.MaxValue;
+});
+```
+
+## Configure CORS (Cross-Origin Resource Sharing)
+
+Edit `Program.cs` to enable CORS for your application:
+
+```csharp
+var MyAllowSpecificOrigins = "AllowAllOrigins";
+builder.Services.AddCors(options =>
+{
+ options.AddPolicy(MyAllowSpecificOrigins, builder =>
+ {
+ builder.AllowAnyOrigin()
+ .AllowAnyMethod()
+ .AllowAnyHeader();
+ });
+});
+
+var app = builder.Build();
+app.UseCors(MyAllowSpecificOrigins);
+```
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
new file mode 100644
index 0000000000..3145cfd490
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
@@ -0,0 +1,125 @@
+# Connecting Local Web Services for Spreadsheet Open and Save in ASP.NET MVC
+
+This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using **ASP.NET MVC**.
+
+By default, the Syncfusion Spreadsheet component uses Syncfusion hosted endpoints for file operations:
+
+```ts
+openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
+```
+
+However, these demo services are intended only for **demonstration purposes** and are not recommended for **production or development environments**.
+
+**Benefits of hosting your own service:**
+- **Full Control** – Manage your data and processes locally.
+- **Better Performance** – Reduce latency with local or private hosting.
+- **Security** – Keep sensitive files within your infrastructure.
+- **Reliability** – Remain independent of Syncfusion's service availability.
+- **Customization** – Add custom business logic and workflows.
+- **Compliance** – Meet regulatory and data residency requirements.
+
+## Create a New ASP.NET MVC Project
+
+To create a new ASP.NET MVC project follow the steps mentioned in the link below.
+
+[Getting Started with ASP.NET MVC 5 | Microsoft Learn](https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started)
+
+## Dependencies
+
+Following list of dependencies required for Spreadsheet open and save operations.
+
+| **Platforms** | **Assembly** | **Nuget Package** |
+| ----- | ----- | ----- |
+| ASP.NET MVC5 | Syncfusion.EJ2.MVC5 Syncfusion.EJ2.Spreadsheet.AspNet.MVC5 Syncfusion.Compression.Base Syncfusion.XlsIO.AspNet.Mvc5 Syncfusion.ExcelToPdfConverter.AspNet.Mvc5 | [Syncfusion.EJ2.Spreadsheet.AspNet.MVC5](https://www.nuget.org/packages/Syncfusion.EJ2.Spreadsheet.AspNet.MVC5) [Syncfusion.ExcelToPdfConverter.AspNet.Mvc5](https://www.nuget.org/packages/Syncfusion.ExcelToPdfConverter.AspNet.Mvc5) |
+
+## Add Open and Save Actions in Controller
+
+Once the MVC project is created, add the following Open and Save action methods to your controller (e.g., `SpreadsheetController`) to enable open and save actions:
+
+```csharp
+using System.Web;
+using System.Web.Mvc;
+using Syncfusion.EJ2.Spreadsheet;
+
+public class SpreadsheetController : Controller
+{
+ // Open action
+ [HttpPost]
+ public ActionResult Open()
+ {
+ OpenRequest open = new OpenRequest();
+ open.File = Request.Files[0];
+ return Content(Workbook.Open(open));
+ }
+
+ // Save action
+ [HttpPost]
+ public ActionResult Save(SaveSettings saveSettings)
+ {
+ return Workbook.Save(saveSettings);
+ }
+}
+```
+
+## Run the MVC Project
+
+After adding the controller code, build and run the MVC project (F5 or Ctrl+F5 in Visual Studio).
+
+## Configuring the Client-Side URLs
+
+Once your local service is running, configure your client app to use the local endpoints:
+
+```jsx
+
+```
+
+## Configuring File Size Limits
+
+When working with large Excel files, it is important to configure file size limits to prevent server-side exceptions.
+
+**web.config**
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Configure CORS (Cross-Origin Resource Sharing)
+
+Cross-Origin Resource Sharing (CORS) allows your ASP.NET MVC application to accept requests from other domains (such as when your client app and server are running on different ports or hosts).
+
+**How to Enable CORS in ASP.NET MVC**
+
+1. Open `Global.asax.cs` in your project.
+2. Add the following code to the `Application_BeginRequest` method.
+
+```csharp
+protected void Application_BeginRequest()
+{
+ // Allow all origins. For production, specify allowed origins instead of '*'.
+ HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");
+ HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
+ HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
+
+ // Handle preflight requests
+ if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
+ {
+ HttpContext.Current.Response.End();
+ }
+}
+```
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
new file mode 100644
index 0000000000..e1c2d937bf
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
@@ -0,0 +1,168 @@
+# Connecting Local Web Services for Spreadsheet Open and Save in WCF
+
+This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using **WCF (Windows Communication Foundation)**.
+
+By default, the Syncfusion Spreadsheet component uses Syncfusion®-hosted endpoints for file operations:
+
+```ts
+openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
+saveUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/save'
+```
+
+However, these demo services are intended only for **demonstration purposes** and are not recommended for **production or development environments**.
+
+**Benefits of hosting your own service:**
+- **Full Control** – Manage your data and processes locally.
+- **Better Performance** – Reduce latency with local or private hosting.
+- **Security** – Keep sensitive files within your infrastructure.
+- **Reliability** – Remain independent of Syncfusion's service availability.
+- **Customization** – Add custom business logic and workflows.
+- **Compliance** – Meet regulatory and data residency requirements.
+
+## Create a New WCF Service Library Project
+
+To create a new WCF Service Library project, follow the steps in the link below:
+
+[Tutorial: Get started with WCF application | Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/framework/wcf/how-to-create-a-wcf-service)
+
+## Dependencies
+
+To process Excel files, you can use libraries such as [Syncfusion XlsIO](https://www.syncfusion.com/products/file-formats/xlsio) or [EPPlus](https://www.epplussoftware.com/). Add the required NuGet package to your project for spreadsheet file handling.
+
+## Add Open and Save Service Methods
+
+Once the WCF service is created, define the service contract and implement the Open and Save methods as shown below:
+
+**Service Contract (Interface):**
+```csharp
+using System.ServiceModel;
+using System.ServiceModel.Web;
+using System.IO;
+
+[ServiceContract]
+public interface ISpreadsheetService
+{
+ // Open action (accepts file upload as stream)
+ [OperationContract]
+ [WebInvoke(Method = "POST", UriTemplate = "/Open", BodyStyle = WebMessageBodyStyle.Bare)]
+ Stream Open(Stream fileStream);
+
+ // Save action (accepts file upload as stream)
+ [OperationContract]
+ [WebInvoke(Method = "POST", UriTemplate = "/Save", BodyStyle = WebMessageBodyStyle.Bare)]
+ Stream Save(Stream fileStream);
+}
+```
+
+**Service Implementation:**
+```csharp
+public class SpreadsheetService : ISpreadsheetService
+{
+ public Stream Open(Stream fileStream)
+ {
+ // Here, you would process the uploaded file stream (e.g., using Syncfusion XlsIO)
+ // For demonstration, just return the same stream or a processed file stream
+ // Example: Save the uploaded file to disk, then return a processed file as stream
+
+ string tempPath = Path.GetTempFileName();
+ using (var file = File.Create(tempPath))
+ {
+ fileStream.CopyTo(file);
+ }
+
+ // Process the file as needed, then return the result as a stream
+ // For now, just return the uploaded file
+ return new FileStream(tempPath, FileMode.Open, FileAccess.Read);
+ }
+
+ public Stream Save(Stream fileStream)
+ {
+ // Save the uploaded file to disk (or process as needed)
+ string savePath = Path.Combine("C:\\SpreadsheetUploads", $"Saved_{Guid.NewGuid()}.xlsx");
+ Directory.CreateDirectory(Path.GetDirectoryName(savePath));
+ using (var file = File.Create(savePath))
+ {
+ fileStream.CopyTo(file);
+ }
+
+ // Return a simple confirmation message as a stream
+ var result = System.Text.Encoding.UTF8.GetBytes("File saved successfully.");
+ return new MemoryStream(result);
+ }
+}
+```
+
+## Configure the WCF Service
+
+Edit `App.config` to expose the service over HTTP:
+
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Run the WCF Service
+
+After adding the service code, build and run the WCF Service Library project. You can use the WCF Test Client to test the Open and Save methods.
+
+For more details, see:
+[Run a WCF service in Visual Studio](https://learn.microsoft.com/en-us/dotnet/framework/wcf/how-to-host-and-run-a-basic-wcf-service)
+
+## Configuring the Client-Side URLs
+
+Once your local service is running, configure your client app to use the local endpoints. For example:
+
+```jsx
+
+```
+
+## Configuring File Size Limits
+
+When working with large Excel files, configure file size limits to prevent server-side exceptions.
+
+**web.config** (if hosting in IIS):
+```xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Configure CORS (Cross-Origin Resource Sharing)
+
+If your client and WCF service are hosted on different domains or ports, enable CORS. For WCF, you may need to add custom headers in the response or use a message inspector. See:
+
+[Enable CORS in WCF](https://learn.microsoft.com/en-us/answers/questions/116964/how-to-enable-cors-in-wcf-service)
+
+This guide helps you set up a WCF web service for spreadsheet open and save operations, similar to the ASP.NET Core approach, but using WCF for legacy or enterprise scenarios.
From c2ea9bcdcd0e43a1c4c6449ed681adf77a02ad9f Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Fri, 13 Mar 2026 13:04:12 +0530
Subject: [PATCH 020/345] 1015405: Resolved CI errors.
---
.../web-services/webservice-using-aspnetcore.md | 11 ++++++++++-
.../web-services/webservice-using-aspnetmvc.md | 11 ++++++++++-
.../React/web-services/webservice-using-wcf.md | 13 +++++++++++--
3 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
index ca01724c02..2c8a3149eb 100644
--- a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetcore.md
@@ -1,4 +1,13 @@
-# Connecting Local Web Services for Spreadsheet Open and Save in ASP.NET Core
+---
+layout: post
+title: Web Services using ASP.NET Core in React Spreadsheet | Syncfusion
+description: Learn here all about web services using ASP.NET Core in React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Web Services
+platform: document-processing
+documentation: ug
+---
+
+# Connecting Web Services for Spreadsheet Open and Save in ASP.NET Core
This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using ASP.NET Core.
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
index 3145cfd490..f40ac15748 100644
--- a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-aspnetmvc.md
@@ -1,4 +1,13 @@
-# Connecting Local Web Services for Spreadsheet Open and Save in ASP.NET MVC
+---
+layout: post
+title: Web Services using ASP.NET MVC in React Spreadsheet | Syncfusion
+description: Learn here all about web services using ASP.NET MVC in React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Web Services
+platform: document-processing
+documentation: ug
+---
+
+# Connecting Web Services for Spreadsheet Open and Save in ASP.NET MVC
This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using **ASP.NET MVC**.
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
index e1c2d937bf..4fe2c19746 100644
--- a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
@@ -1,8 +1,17 @@
-# Connecting Local Web Services for Spreadsheet Open and Save in WCF
+---
+layout: post
+title: Web Services using WCF in React Spreadsheet | Syncfusion
+description: Learn here all about web services using WCF in React Spreadsheet component of Syncfusion Essential JS 2 and more.
+control: Web Services
+platform: document-processing
+documentation: ug
+---
+
+# Connecting Web Services for Spreadsheet Open and Save in WCF
This guide demonstrates how to prepare and connect local web services for spreadsheet open and save operations using **WCF (Windows Communication Foundation)**.
-By default, the Syncfusion Spreadsheet component uses Syncfusion®-hosted endpoints for file operations:
+By default, the Syncfusion Spreadsheet component uses Syncfusion-hosted endpoints for file operations:
```ts
openUrl: 'https://document.syncfusion.com/web-services/spreadsheet-editor/api/spreadsheet/open',
From 6c56b1ba03bbca6f0f98065f8871023a79dfd3e2 Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Fri, 13 Mar 2026 13:46:19 +0530
Subject: [PATCH 021/345] 1015405: Added changes to the WCF sections and
resolved the CI errors.
---
.../web-services/webservice-using-wcf.md | 76 +++++++++++++++++--
1 file changed, 71 insertions(+), 5 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
index 4fe2c19746..aabf86fc5b 100644
--- a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
@@ -32,7 +32,7 @@ However, these demo services are intended only for **demonstration purposes** an
To create a new WCF Service Library project, follow the steps in the link below:
-[Tutorial: Get started with WCF application | Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/framework/wcf/how-to-create-a-wcf-service)
+[Tutorial: Host and run a basic Windows Communication Foundation service - WCF | Microsoft Learn](https://learn.microsoft.com/en-us/dotnet/framework/wcf/how-to-host-and-run-a-basic-wcf-service)
## Dependencies
@@ -168,10 +168,76 @@ When working with large Excel files, configure file size limits to prevent serve
```
-## Configure CORS (Cross-Origin Resource Sharing)
+# Configure CORS (Cross-Origin Resource Sharing)
-If your client and WCF service are hosted on different domains or ports, enable CORS. For WCF, you may need to add custom headers in the response or use a message inspector. See:
+If your client and WCF service are hosted on different domains or ports, you must enable CORS to allow cross-origin requests from browsers. In WCF, this can be achieved by adding custom headers using a message inspector and endpoint behavior.
-[Enable CORS in WCF](https://learn.microsoft.com/en-us/answers/questions/116964/how-to-enable-cors-in-wcf-service)
+### Steps to Enable CORS in WCF
-This guide helps you set up a WCF web service for spreadsheet open and save operations, similar to the ASP.NET Core approach, but using WCF for legacy or enterprise scenarios.
+**1. Create a CORS Message Inspector:**
+```csharp
+using System.ServiceModel.Dispatcher;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Description;
+using System.ServiceModel;
+
+public class CorsEnabledMessageInspector : IDispatchMessageInspector
+{
+ public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
+ {
+ return null;
+ }
+
+ public void BeforeSendReply(ref Message reply, object correlationState)
+ {
+ var httpHeader = reply.Properties[HttpResponseMessageProperty.Name] as HttpResponseMessageProperty;
+ if (httpHeader == null)
+ {
+ httpHeader = new HttpResponseMessageProperty();
+ reply.Properties.Add(HttpResponseMessageProperty.Name, httpHeader);
+ }
+ httpHeader.Headers.Add("Access-Control-Allow-Origin", "*");
+ httpHeader.Headers.Add("Access-Control-Allow-Methods", "POST, OPTIONS");
+ httpHeader.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Accept");
+ }
+}
+```
+
+**2. Create a CORS Endpoint Behavior:**
+```csharp
+public class CorsEnabledBehavior : Attribute, IEndpointBehavior
+{
+ public void AddBindingParameters(ServiceEndpoint endpoint, BindingParameterCollection bindingParameters) { }
+ public void ApplyClientBehavior(ServiceEndpoint endpoint, ClientRuntime clientRuntime) { }
+ public void ApplyDispatchBehavior(ServiceEndpoint endpoint, EndpointDispatcher endpointDispatcher)
+ {
+ endpointDispatcher.DispatchRuntime.MessageInspectors.Add(new CorsEnabledMessageInspector());
+ }
+ public void Validate(ServiceEndpoint endpoint) { }
+}
+```
+
+**3. Apply the Behavior to Your Service:**
+Add the `[CorsEnabledBehavior]` attribute to your service class:
+```csharp
+[CorsEnabledBehavior]
+public class SpreadsheetService : ISpreadsheetService
+{
+ // ...existing code...
+}
+```
+
+**4. (Optional) Handle Preflight (OPTIONS) Requests:**
+If your client sends OPTIONS requests, add a handler in your service contract and implementation:
+```csharp
+[OperationContract]
+[WebInvoke(Method = "OPTIONS", UriTemplate = "*")]
+void Options();
+
+public void Options()
+{
+ // No implementation needed; CORS headers are added by the inspector.
+}
+```
+
+With these additions, your WCF service will support CORS for cross-origin requests, allowing your React Spreadsheet client to communicate with the service without CORS errors.
From 9247cf88839c3f9839c77557406c9e814edb47fb Mon Sep 17 00:00:00 2001
From: DinakarSF4212 <147583019+DinakarSF4212@users.noreply.github.com>
Date: Fri, 13 Mar 2026 14:00:18 +0530
Subject: [PATCH 022/345] 1015405: Resolved CI errors.
---
.../Spreadsheet/React/web-services/webservice-using-wcf.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
index aabf86fc5b..97242086ff 100644
--- a/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
+++ b/Document-Processing/Excel/Spreadsheet/React/web-services/webservice-using-wcf.md
@@ -168,7 +168,7 @@ When working with large Excel files, configure file size limits to prevent serve
```
-# Configure CORS (Cross-Origin Resource Sharing)
+## Configure CORS (Cross-Origin Resource Sharing)
If your client and WCF service are hosted on different domains or ports, you must enable CORS to allow cross-origin requests from browsers. In WCF, this can be achieved by adding custom headers using a message inspector and endpoint behavior.
From 0417ee1f9b006c24e264d39839d51bf8a791d08d Mon Sep 17 00:00:00 2001
From: NithishkumarRavikumar
Date: Fri, 13 Mar 2026 15:06:14 +0530
Subject: [PATCH 023/345] 1014682: updated limitation details
---
Document-Processing/Excel/Spreadsheet/React/clipboard.md | 2 +-
Document-Processing/Excel/Spreadsheet/React/data-validation.md | 1 -
Document-Processing/Excel/Spreadsheet/React/filter.md | 2 +-
Document-Processing/Excel/Spreadsheet/React/searching.md | 2 +-
4 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/Document-Processing/Excel/Spreadsheet/React/clipboard.md b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
index 99e167e8b6..cbbb2ae858 100644
--- a/Document-Processing/Excel/Spreadsheet/React/clipboard.md
+++ b/Document-Processing/Excel/Spreadsheet/React/clipboard.md
@@ -103,7 +103,7 @@ The following example shows, how to prevent the paste action in spreadsheet. In
- If you copy =SUM(A2,B2) and paste, the formula reference will change depending on the pasted cell address but we don't have support for nested formula(formula reference will be same).
- Clipboard is not supported with conditional formatting (values only pasting).
- We have limitation while copying the whole sheet data and pasting it into another sheet.
-- Paste options are not enabled when copying from an external sheet; external clipboard paste works only through keyboard shortcuts (Ctrl + V).
+- Paste options in Ribbon UI and context menu are not enabled when copy and paste from an external content. The external clipboard paste works only through keyboard shortcuts (Ctrl + V).
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/data-validation.md b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
index 16b8dcc0f4..ef58cc13cd 100644
--- a/Document-Processing/Excel/Spreadsheet/React/data-validation.md
+++ b/Document-Processing/Excel/Spreadsheet/React/data-validation.md
@@ -97,7 +97,6 @@ The following features have some limitations in Data Validation:
* Insert row between the data validation.
* Copy/paste with data validation.
* Delete cells between data validation applied range.
-* Custom error message in data validation.
## See Also
diff --git a/Document-Processing/Excel/Spreadsheet/React/filter.md b/Document-Processing/Excel/Spreadsheet/React/filter.md
index 9b789051af..f05f836517 100644
--- a/Document-Processing/Excel/Spreadsheet/React/filter.md
+++ b/Document-Processing/Excel/Spreadsheet/React/filter.md
@@ -114,7 +114,7 @@ The following features have some limitations in Filter:
* Insert/delete row/column between the filter applied cells.
* Merge cells with filter.
* Copy/cut paste the filter applied cells.
-* Filter by color.
+* Filter by color is not supported.
## Note
diff --git a/Document-Processing/Excel/Spreadsheet/React/searching.md b/Document-Processing/Excel/Spreadsheet/React/searching.md
index fceab9616e..22812e7b72 100644
--- a/Document-Processing/Excel/Spreadsheet/React/searching.md
+++ b/Document-Processing/Excel/Spreadsheet/React/searching.md
@@ -82,7 +82,7 @@ In the following sample, searching can be done by following ways:
## Limitations
* Undo/redo for Replace All is not supported in this feature.
-* Replace All is not supported for selected range.
+* Replace All functionality is not restricted to selected range of cells.
* Find and Replace in Formulas, Notes not supported.
## Note
From 38fbaf86e483a7dcc7b62ddb533734622ea6a67d Mon Sep 17 00:00:00 2001
From: sathiyaseelanksf3503
Date: Fri, 13 Mar 2026 16:22:59 +0530
Subject: [PATCH 024/345] 1015670: Published the docker sample
---
Document-Processing-toc.html | 1 +
.../deployment/azure-container-deployment.md | 391 ++++++++++++++++++
...ure_container_published_blazor_webapps.png | Bin 0 -> 89565 bytes
.../blazor/images/create_azure_container.png | Bin 0 -> 99580 bytes
.../push_docker_into_azure_container.png | Bin 0 -> 130218 bytes
.../images/udpate_container_configuration.png | Bin 0 -> 88917 bytes
.../blazor/images/update_bascis_details.png | Bin 0 -> 106926 bytes
.../images/update_hosting_plan_and_review.png | Bin 0 -> 88160 bytes
...pdate_the_docker_container_for_publish.png | Bin 0 -> 108667 bytes
9 files changed, 392 insertions(+)
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/deployment/azure-container-deployment.md
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/azure_container_published_blazor_webapps.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/create_azure_container.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/push_docker_into_azure_container.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/udpate_container_configuration.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/update_bascis_details.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/update_hosting_plan_and_review.png
create mode 100644 Document-Processing/PDF/PDF-Viewer/blazor/images/update_the_docker_container_for_publish.png
diff --git a/Document-Processing-toc.html b/Document-Processing-toc.html
index 4a77c8ea5a..5617ce8bb1 100644
--- a/Document-Processing-toc.html
+++ b/Document-Processing-toc.html
@@ -825,6 +825,7 @@
Accessibility
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/deployment/azure-container-deployment.md b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/azure-container-deployment.md
new file mode 100644
index 0000000000..229c549ae7
--- /dev/null
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/deployment/azure-container-deployment.md
@@ -0,0 +1,391 @@
+---
+layout: post
+title: Deploy SfPdfViewer to Azure Container (Linux) | Syncfusion
+description: Containerize and deploy the Syncfusion Blazor PDF Viewer (Server and WebAssembly) to Azure using Azure Container Registry and App Service for Containers.
+platform: document-processing
+control: SfPdfViewer
+documentation: ug
+---
+
+# Deploy SfPdfViewer to Azure Container (Linux)
+
+This article shows how to containerize and deploy a Blazor PDF Viewer application (both Server and WebAssembly scenarios) to Azure using Azure Container Registry (ACR) and Azure App Service for Containers. It combines the application architecture and registration steps from the Blazor web app guide with practical containerization and Azure deployment steps.
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* An Azure subscription and permission to create resource groups, ACR instances, and App Services.
+
+## Create a new Blazor App in Visual Studio
+
+Create a new Blazor Server app and name it **PDFViewerGettingStarted**.
+
+N> The PDF Viewer component is supported on .NET 8.0 and later.
+
+## Install Blazor PDF Viewer NuGet package in Blazor Server App
+
+Add the following NuGet packages to the Blazor Server app.
+
+* [Syncfusion.Blazor.SfPdfViewer](https://www.nuget.org/packages/Syncfusion.Blazor.SfPdfViewer)
+* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
+
+If using the WebAssembly or Auto interactive render mode, install the NuGet packages in the client project to add the component to the Web App.
+
+N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
+* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
+
+
+
+{% endtabcontent %}
+
+{% tabcontent Visual Studio Code %}
+
+## Prerequisites
+
+* [System requirements for Blazor components](https://blazor.syncfusion.com/documentation/system-requirements)
+
+* If using an interactive render mode such as WebAssembly or Auto, ensure the required .NET workloads are installed for SkiaSharp usage in a Blazor Web App. Run the following command:
+ * dotnet workload install wasm-tools
+
+N> The above code will only install the latest available workload on the machine, such as .NET 10. If you need to install a specific .NET version like .NET 9 or .NET 8, please use a command such as `dotnet workload install wasm-tools-net8`.
+
+## Register Syncfusion® Blazor Service
+
+* In the **~/_Imports.razor** file, add the following namespaces:
+
+{% tabs %}
+{% highlight razor tabtitle="~/_Imports.razor" %}
+
+@using Syncfusion.Blazor;
+@using Syncfusion.Blazor.SfPdfViewer;
+
+{% endhighlight %}
+{% endtabs %}
+
+* Register the Syncfusion® Blazor Service in the **~/Program.cs** file.
+
+{% tabs %}
+{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) Server" hl_lines="2 9 11 13" %}
+
+using BlazorWebAppServer.Components;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
+
+builder.Services.AddSignalR(o => { o.MaximumReceiveMessageSize = 102400000; });
+
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container.
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+
+if (!app.Environment.IsDevelopment())
+{
+ app.UseExceptionHandler("/Error", createScopeForErrors: true);
+ app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+app.UseStaticFiles();
+app.UseAntiforgery();
+
+app.MapRazorComponents()
+ .AddInteractiveServerRenderMode();
+
+app.Run();
+
+{% endhighlight %}
+
+{% highlight c# tabtitle=".NET 9 & .NET 8 (~/Program.cs) WebAssembly" hl_lines="3 9 11" %}
+
+using BlazorWebApp.Client.Pages;
+using BlazorWebApp.Components;
+using Syncfusion.Blazor;
+
+var builder = WebApplication.CreateBuilder(args);
+builder.Services.AddRazorComponents()
+.AddInteractiveWebAssemblyComponents();
+
+builder.Services.AddMemoryCache();
+//Add Syncfusion Blazor service to the container
+builder.Services.AddSyncfusionBlazor();
+
+var app = builder.Build();
+if (app.Environment.IsDevelopment())
+{
+app.UseWebAssemblyDebugging();
+}
+else
+{
+app.UseExceptionHandler("/Error", createScopeForErrors: true);
+ app.UseHsts();
+}
+
+app.UseHttpsRedirection();
+app.UseStaticFiles();
+app.UseAntiforgery();
+
+app.MapRazorComponents()
+ .AddInteractiveWebAssemblyRenderMode()
+ .AddAdditionalAssemblies(typeof(Counter).Assembly);
+
+app.Run();
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding stylesheet and script
+
+Add the following stylesheet and script to the head section of the **~/Pages/_Host.cshtml** file.
+
+{% tabs %}
+{% highlight cshtml hl_lines="3 7" %}
+
+
+
+
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+## Adding Blazor PDF Viewer Component
+
+Add the Syncfusion® PDF Viewer (Next-Gen) component in the **~/Pages/Index.razor** file.
+
+{% tabs %}
+{% highlight razor %}
+
+@page "/"
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+N> If the `DocumentPath` property is not set, the PDF Viewer renders without loading a PDF document. Users can use the **Open** option in the toolbar to browse and open a PDF as needed.
+
+## Run the application
+
+Run the application to display the PDF file in the Syncfusion® Blazor PDF Viewer component in the browser.
+
+{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor Server SfPdfViewer rendering in browser](aws-benstalk-deployment-images/blazor-pdfviewer.png)" %}
+
+## Dockerizing the Server app (recommended for Server and hosted WASM)
+
+Use a multi-stage Dockerfile to build and publish the app with the .NET 10 SDK, then run the published output on the ASP.NET runtime image.
+
+Example `Dockerfile` for an Blazor Server (or hosted) app:
+
+```dockerfile
+FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
+
+RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so
+# install System.Drawing native dependencies
+RUN apt-get update && apt-get install -y --allow-unauthenticated libgdiplus libc6-dev libx11-dev
+RUN ln -s libgdiplus.so gdiplus.dll
+
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+EXPOSE 8081
+
+
+# This stage is used to build the service project
+FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["YourServerApp/YourServerApp.csproj", "YourServerApp/"]
+RUN dotnet restore "./YourServerApp/YourServerApp.csproj"
+COPY . .
+WORKDIR "/src/YourServerApp"
+RUN dotnet build "./YourServerApp.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+# This stage is used to publish the service project to be copied to the final stage
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./YourServerApp.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "YourServerApp.dll"]
+```
+
+N>
+- Replace `YourServerApp.dll` with your actual assembly name.
+
+### Local build and run
+
+Build and run the container locally to verify behavior:
+
+```bash
+docker build -t pdfviewerwebservice:latest .
+docker run -d -p 6002:80 pdfviewerwebservice:latest
+```
+
+If you see script errors or documents fail to load, verify the container image contains the `libdl.so` symlink and `libgdiplus` installed (see Dockerfile notes).
+
+## Dockerizing a standalone WebAssembly app (nginx)
+
+If you built a standalone WebAssembly client (no hosting server project), publish the client and serve the static output from nginx.
+
+Example `Dockerfile` for static WASM (nginx):
+
+```dockerfile
+FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
+
+RUN ln -s /lib/x86_64-linux-gnu/libdl-2.24.so /lib/x86_64-linux-gnu/libdl.so
+# install System.Drawing native dependencies
+RUN apt-get update && apt-get install -y --allow-unauthenticated libgdiplus libc6-dev libx11-dev
+RUN ln -s libgdiplus.so gdiplus.dll
+
+USER $APP_UID
+WORKDIR /app
+EXPOSE 8080
+EXPOSE 8081
+
+
+# This stage is used to build the service project
+FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
+# Install Python required for WASM tools
+RUN apt-get update && apt-get install -y \
+ python3 \
+ python3-pip \
+ python3-venv \
+ && ln -s /usr/bin/python3 /usr/bin/python || true
+# Install WASM tools
+RUN dotnet workload install wasm-tools
+ARG BUILD_CONFIGURATION=Release
+WORKDIR /src
+COPY ["YourServerApp/YourServerApp/YourServerApp.csproj", "YourServerApp/YourServerApp/"]
+COPY ["YourServerApp/YourServerApp.Client/YourServerApp.Client.csproj", "YourServerApp/YourServerApp.Client/"]
+RUN dotnet restore "./YourServerApp/YourServerApp/YourServerApp.csproj"
+COPY . .
+WORKDIR "/src/YourServerApp/YourServerApp"
+RUN dotnet build "./YourServerApp.csproj" -c $BUILD_CONFIGURATION -o /app/build
+
+# This stage is used to publish the service project to be copied to the final stage
+FROM build AS publish
+ARG BUILD_CONFIGURATION=Release
+RUN dotnet publish "./YourServerApp.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
+
+# This stage is used in production or when running from VS in regular mode (Default when not using the Debug configuration)
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "YourServerApp.dll"]
+```
+
+N>
+* Replace `YourServerApp.dll` and `YourServerApp.csproj` with your actual assembly name.
+
+Then run locally:
+
+```bash
+docker build -t pdfviewer-wasm:latest .
+docker run -d -p 6003:80 pdfviewer-wasm:latest
+# Open http://localhost:6003
+```
+
+## Push image to Azure Container Registry (ACR)
+
+Follow these UI-driven steps in the Azure portal (or use the CLI steps below):
+
+1. Create a Container Registry
+ * In the Azure portal, click **Create a resource** → search for **Container Registry** → **Create**.
+ * Fill in the basic details: **Registry name**, **Subscription**, **Resource group** (use **Create new** if needed), and **Location**.
+ * Choose a **SKU** (Basic is fine for testing). Click **Review + create**, then **Create**.
+
+2. Enable credentials
+ * Open the newly created Container Registry resource.
+ * Under **Settings**, select **Access keys**.
+ * Toggle **Admin user** to **Enabled** and note the **Login server** (e.g., myacr.azurecr.io), **Username**, and **Password** shown.
+
+3. Tag and push your image from your build machine
+ * Open PowerShell or a terminal on the machine where you built the Docker image.
+ * Log in to the registry using the login server and admin credentials from the portal:
+
+```bash
+docker login
+# Enter username and password (from Access keys in the portal)
+
+# Tag the image for your registry and push it:
+
+docker tag pdfviewerwebservice:latest /pdfviewerwebservice:latest
+docker push /pdfviewerwebservice:latest
+```
+
+
+
+## Create an App Service that runs your container
+
+Follow these UI-focused steps in the Azure portal to create an App Service (Linux) and configure it to run your container image from ACR.
+
+## Create an App Service that runs your container
+
+Follow these UI-focused steps in the Azure portal to create an App Service (Linux) and configure it to run your container image from ACR.
+
+1. Create the App Service
+ * In the Azure portal click **Create a resource** → search **Web App** → **Create**.
+
+ 
+
+ * Under **Basics**, set the **Subscription**, **Resource group** (use **Create new** if needed), and **Name** (this will form the app URL `https://.azurewebsites.net`).
+
+ 
+
+ * For **Publish**, choose **Docker Container**. For **Runtime stack** choose **Linux**.
+
+ 
+
+ * Choose a hosting plan: click **Change size** and pick a plan (Basic/B1 or higher recommended for container workloads). Click **Review + create**, then **Create**.
+
+ 
+
+2. Configure the container settings
+ * Open the App Service you created, then go to **Deployment** → **Container settings** (or **Settings** → **Container settings** in some portal views).
+ * For **Image source** select **Azure Container Registry**.
+ * Select your **Subscription** and the **Registry** you created earlier.
+ * Under **Image and tag**, select the repository (for example `pdfviewerwebservice`) and the tag (for example `latest`).
+
+ 
+
+N> troubleshooting
+* Check container logs and the image locally if the app fails to start.
+* Ensure the container listens on port 80 (or configure the App Service container port setting to match your container).
+* Ensure native dependencies (SkiaSharp, `libgdiplus`, `libdl` symlinks) are present in the image; missing native libs commonly cause rendering/script errors.
+* For static WASM images served by nginx, confirm wasm MIME types and caching are working.
+
+## Using Rancher Desktop / Docker on Windows
+
+* Rancher Desktop (with dockerd/Moby) can be used in place of Docker Desktop. If using Rancher Desktop, select the `dockerd (moby)` runtime so standard `docker` commands behave as expected.
+* If you encounter WSL or Rancher errors during installation, consult Rancher Desktop docs and community threads; a common issue and workaround is documented in the internal notes.
+
+## Additional guidance
+
+* If your project uses SkiaSharp.Views.Blazor on the server or client, double-check native runtime requirements and test rendering in the container.
+* For Server interactive scenarios, register Syncfusion services and ensure SignalR message size settings match large-file processing requirements (see Getting Started examples).
+* For WebAssembly interactive render modes, ensure `wasm-tools` workload is available when building locally or in CI: `dotnet workload install wasm-tools`.
+
+
+
+N> [View the Blazor Webapps Server Sample](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer2/NET10/PDFViewer2_WebAppServerMode).
+[View the Blazor Webapps Wasm Sample](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer2/NET10/PDFViewer2_WebAppServerMode).
+
+## See also
+
+- [Getting started with SfPdfViewer in a Blazor Web App](../getting-started/web-app)
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/images/azure_container_published_blazor_webapps.png b/Document-Processing/PDF/PDF-Viewer/blazor/images/azure_container_published_blazor_webapps.png
new file mode 100644
index 0000000000000000000000000000000000000000..1518ae404b5694fb1ce89692631c42873edd26e1
GIT binary patch
literal 89565
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 +h?>TDGX%4JDq05hNn#gDE!>FyD
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