diff --git a/Document-Processing/Excel/Conversions/Chart-to-Image/NET/Chart-to-Image-Conversion.md b/Document-Processing/Excel/Conversions/Chart-to-Image/NET/Chart-to-Image-Conversion.md
index b00d2f723..81f265d51 100644
--- a/Document-Processing/Excel/Conversions/Chart-to-Image/NET/Chart-to-Image-Conversion.md
+++ b/Document-Processing/Excel/Conversions/Chart-to-Image/NET/Chart-to-Image-Conversion.md
@@ -19,36 +19,30 @@ The following code snippet shows how to convert an Excel chart to an image using
{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/Chart%20to%20Image/Chart%20to%20Image/.NET/Chart%20to%20Image/Chart%20to%20Image/Program.cs,180" %}
using (ExcelEngine excelEngine = new ExcelEngine())
{
- //Initialize application
- IApplication application = excelEngine.Excel;
-
- //Set the default version as Xlsx
- application.DefaultVersion = ExcelVersion.Xlsx;
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
- //Initialize XlsIORenderer
- application.XlsIORenderer = new XlsIORenderer();
+ // Initialize XlsIORenderer
+ application.XlsIORenderer = new XlsIORenderer();
- //Set converter chart image format to PNG or JPEG
- application.XlsIORenderer.ChartRenderingOptions.ImageFormat = ExportImageFormat.Png;
+ //Set converter chart image format to PNG
+ application.XlsIORenderer.ChartRenderingOptions.ImageFormat = ExportImageFormat.Png;
- //Set the chart image quality to best
- application.XlsIORenderer.ChartRenderingOptions.ScalingMode = ScalingMode.Best;
+ FileStream inputStream = new FileStream(Path.GetFullPath(@"Data/InputTemplate.xlsx"), FileMode.Open, FileAccess.Read);
+ IWorkbook workbook = application.Workbooks.Open(inputStream);
+ IWorksheet worksheet = workbook.Worksheets[0];
- //Open existing workbook with chart
- IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Access the chart from the worksheet
- IChart chart = worksheet.Charts[0];
+ IChart chart = worksheet.Charts[0];
- #region Save
- //Exporting the chart as image
- FileStream outputStream = new FileStream(Path.GetFullPath("Output/Image.png"), FileMode.Create, FileAccess.Write);
- chart.SaveAsImage(outputStream);
- #endregion
+ #region Save
+ //Saving the workbook
+ FileStream outputStream = new FileStream(Path.GetFullPath("Output/Image.png"), FileMode.Create, FileAccess.Write);
+ chart.SaveAsImage(outputStream);
+ #endregion
- //Dispose streams
- outputStream.Dispose();
+ //Dispose streams
+ outputStream.Dispose();
+ inputStream.Dispose();
}
{% endhighlight %}
diff --git a/Document-Processing/Excel/Conversions/Excel-to-PDF/NET/Performance-Metrics.md b/Document-Processing/Excel/Conversions/Excel-to-PDF/NET/Performance-Metrics.md
deleted file mode 100644
index 5a0d2a076..000000000
--- a/Document-Processing/Excel/Conversions/Excel-to-PDF/NET/Performance-Metrics.md
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title: Performance Metrics for the Syncfusion Excel to PDF conversion
-description: This section provides benchmark results and performance metrics for converting Excel files to PDF using the Syncfusion Excel (XlsIO) library.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Performance Metrics for Excel to PDF Conversion
-
-The following benchmark demonstrates the performance of the Syncfusion Excel (XlsIO) library when converting a large Excel workbook—containing 100,000 rows and 50 columns with distinct data types such as text, date and time, numbers, booleans, and formulas—into a PDF.
-
-
-
-You can find the sample used for Excel to PDF conversion performance evaluation on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/Performance-Metrics.md b/Document-Processing/Excel/Excel-Library/NET/Performance-Metrics.md
index 70c829cc3..2e251a196 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Performance-Metrics.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Performance-Metrics.md
@@ -1,6 +1,6 @@
---
-title: Performance Metrics for Syncfusion Excel (XlsIO) Library
-description: This section provides benchmark results and insights into the performance capabilities of the Syncfusion Excel (XlsIO) library across various operations.
+title: Performance Metrics of the Syncfusion Excel (XlsIO) Library
+description: This section provides an overview of the performance capabilities of the Syncfusion Excel (XlsIO) Library.
platform: document-processing
control: XlsIO
documentation: UG
@@ -8,79 +8,180 @@ documentation: UG
# Performance Metrics in Excel (XlsIO) Library
-This section evaluates the performance of the Syncfusion Excel (XlsIO) library when handling text, date and time, number, boolean, and formula data types during operations such as reading and creating Excel documents.
+This section evaluates the performance of the Syncfusion XlsIO library when handling String, DateTime, Number, Boolean, and Formula data types during operations such as opening, reading, creating, and saving Excel files. It provides insights into the efficiency and capabilities of XlsIO for processing these data types across various platforms.
+
+## Open and Read
+
+The table below illustrates the performance of data types for open operations.
+
+
+
+You can find the sample used for open operation performance evaluation on this GitHub page.
+
+The table below illustrates the performance of data types for read operations.
+
+
+
+You can find the sample used for read operation performance evaluation on this GitHub page.
## Create and Save
-The table below illustrates the performance of creating and saving an Excel document containing 100,000 rows and 50 columns for different data types.
+The table below illustrates the performance of data types for create operations.
-
+
+You can find the sample used for create operation performance evaluation on this GitHub page.
-## Load and Read
-
-The table below illustrates the performance of loading and reading cell values from an Excel document with 100,000 rows and 50 columns for different data types.
+The table below illustrates the performance of data types for save operations.
+
+You can find the sample used for save operation performance evaluation on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/Slicer.md b/Document-Processing/Excel/Excel-Library/NET/Slicer.md
index b6e94db29..9b76a0334 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Slicer.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Slicer.md
@@ -255,102 +255,6 @@ slicer.SlicerStyle = ExcelSlicerStyle.SlicerStyleDark2
{% endhighlight %}
{% endtabs %}
-### Select a Slicer Item
-
-The following example shows how to select items in a slicer.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.SlicerCacheItems[0].IsSelected = true;
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.SlicerCacheItems[0].IsSelected = true;
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Dim slicer As ISlicer = sheet.Slicers(0)
-Dim cache As ISlicerCache = slicer.SlicerCache
-cache.SlicerCacheItems(0).IsSelected = True
-{% endhighlight %}
-{% endtabs %}
-
-### Select slicer filter type
-
-The following example shows how to select the slicer filter type.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop;
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop;
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Dim slicer As ISlicer = sheet.Slicers(0)
-Dim cache As ISlicerCache = slicer.SlicerCache
-cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop
-{% endhighlight %}
-{% endtabs %}
-
-### Sort the slicer items
-
-The following example shows how to sort the slicer items.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.IsAscending = true;
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.IsAscending = true;
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Dim slicer As ISlicer = sheet.Slicers(0)
-Dim cache As ISlicerCache = slicer.SlicerCache
-cache.IsAscending = True
-{% endhighlight %}
-{% endtabs %}
-
-### Sort the slicer items using Custom list sorting option
-
-The following example shows how to sort the slicer items using Custom list sorting option
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.UseCustomListSorting = true;
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-ISlicer slicer = sheet.Slicers[0];
-ISlicerCache cache = slicer.SlicerCache;
-cache.UseCustomListSorting = true;
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Dim slicer As ISlicer = sheet.Slicers(0)
-Dim cache As ISlicerCache = slicer.SlicerCache
-cache.UseCustomListSorting = True
-{% endhighlight %}
-{% endtabs %}
-
The following code snippet illustrates how to format an existing slicer with all the above discussed properties.
{% tabs %}
@@ -397,19 +301,6 @@ using (ExcelEngine excelEngine = new ExcelEngine())
//Slicer style
slicer.SlicerStyle = ExcelSlicerStyle.SlicerStyleDark2;
-
- //Select the slicer item
- ISlicerCache cache = slicer.SlicerCache;
- cache.SlicerCacheItems[0].IsSelected = true;
-
- //Set the slicer filter type
- cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop;
-
- //Sort the slicer items in ascending order
- cache.IsAscending = true;
-
- //Custom list sorting
- cache.UseCustomListSorting = true;
workbook.SaveAs("Output.xlsx");
}
@@ -458,19 +349,6 @@ using (ExcelEngine excelEngine = new ExcelEngine())
//Slicer style
slicer.SlicerStyle = ExcelSlicerStyle.SlicerStyleDark2;
-
- //Select the slicer item
- ISlicerCache cache = slicer.SlicerCache;
- cache.SlicerCacheItems[0].IsSelected = true;
-
- //Set the slicer filter type
- cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop;
-
- //Sort the slicer items in ascending order
- cache.IsAscending = true;
-
- //Custom list sorting
- cache.UseCustomListSorting = true;
workbook.SaveAs("Output.xlsx");
}
@@ -518,19 +396,6 @@ Using excelEngine As ExcelEngine = New ExcelEngine
'Slicer style
slicer.SlicerStyle = ExcelSlicerStyle.SlicerStyleDark2
-
- 'Select the slicer item
- Dim cache As ISlicerCache = slicer.SlicerCache
- cache.SlicerCacheItems(0).IsSelected = True
-
- 'Set the slicer filter type
- cache.CrossFilterType = SlicerCrossFilterType.ShowItemsWithDataAtTop
-
- 'Sort the slicer items in ascending order
- cache.IsAscending = True
-
- 'Custom list sorting
- cache.UseCustomListSorting = True
workbook.SaveAs("Output.xlsx")
End Using
diff --git a/Document-Processing/Excel/Excel-Library/NET/Working-with-Cell-or-Range-Formatting.md b/Document-Processing/Excel/Excel-Library/NET/Working-with-Cell-or-Range-Formatting.md
index 4c0e33bea..89a094af2 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Working-with-Cell-or-Range-Formatting.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Working-with-Cell-or-Range-Formatting.md
@@ -919,52 +919,6 @@ workbook.DetectDateTimeInValue = False
{% endhighlight %}
{% endtabs %}
-N> To display the **$** symbol, apply a currency or accounting number format. Using a number format without any currency symbol does not show any currency symbol in the value.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-//Plain number format
-sheet.Range["A1"].Number = 100;
-sheet.Range["A1"].NumberFormat = "0.00"; //shows 100.00
-
-//Currency format
-sheet.Range["A2"].Number = 1234.56;
-sheet.Range["A2"].NumberFormat = "$#,##0.00"; //shows $1,234.56
-
-//Accounting format
-sheet.Range["A3"].Number = 234;
-sheet.Range["A3"].NumberFormat = "_($* #,##0.00_)"; //shows $ 234.00
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-//Plain number format
-sheet.Range["A1"].Number = 100;
-sheet.Range["A1"].NumberFormat = "0.00"; //shows 100.00
-
-//Currency format
-sheet.Range["A2"].Number = 1234.56;
-sheet.Range["A2"].NumberFormat = "$#,##0.00"; //shows $1,234.56
-
-//Accounting format
-sheet.Range["A3"].Number = 234;
-sheet.Range["A3"].NumberFormat = "_($* #,##0.00_)"; //shows $ 234.00
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-'Plain Number format
-sheet.Range("A1").Number = 100
-sheet.Range("A1").NumberFormat = "0.00" 'shows 100.00
-
-'Currency format
-sheet.Range("A2").Number = 1234.56
-sheet.Range("A2").NumberFormat = "$#,##0.00" 'shows $1,234.56
-
-'Accounting format
-sheet.Range("A3").Number = 234
-sheet.Range("A3").NumberFormat = "_($* #,##0.00_)" 'shows $ 234.00
-{% endhighlight %}
-{% endtabs %}
-
## Number Format Detection Behavior Based on System Culture
In Microsoft Excel, when a value is inserted, the system's culture settings determine whether the value is interpreted as a [Text](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IRange.html#Syncfusion_XlsIO_IRange_Text) or [Number](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IRange.html#Syncfusion_XlsIO_IRange_Number). If it is a valid number according to the current culture, Excel automatically detects and applies a corresponding number format.
@@ -2172,4 +2126,4 @@ A complete working example to apply rich text formatting in C# is present on [th
The output of the previous code is shown as follows:
-
+
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/Working-with-Conditional-Formatting.md b/Document-Processing/Excel/Excel-Library/NET/Working-with-Conditional-Formatting.md
index 1edddb8bd..acf8c522a 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Working-with-Conditional-Formatting.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Working-with-Conditional-Formatting.md
@@ -10,9 +10,6 @@ documentation: UG
Conditional formatting allows to format the contents of a cell dynamically. This can be defined and applied in XlsIO through the [IConditionalFormat](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IConditionalFormat.html) interface.
-To quickly learn How to Apply Conditional Formatting in Excel Using .NET Excel Library, check out this video:
-{% youtube "https://www.youtube.com/watch?v=S1lkNLV70hc" %}
-
## Create a Conditional Format
The [IConditionalFormats](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IConditionalFormats.html) represents a collection of conditional formats for a single [IRange](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IRange.html). One or more conditional formats can be added to the range as follows.
diff --git a/Document-Processing/Excel/Excel-Library/NET/Working-with-Formulas.md b/Document-Processing/Excel/Excel-Library/NET/Working-with-Formulas.md
index 44c1a0a09..58e5472b1 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Working-with-Formulas.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Working-with-Formulas.md
@@ -10,9 +10,6 @@ keywords: c#, vb.net, excel, read excel, edit excel, edit excel cell, excel form
[Formulas](https://support.microsoft.com/en-gb/office/overview-of-formulas-in-excel-ecfdc708-9162-49e8-b993-c311f47ca173?redirectsourcepath=%252fen-us%252farticle%252foverview-of-formulas-7abfda78-eff3-4cc6-b4a7-6350d512d2dc) are entries in Excel that have equations, by which values are calculated. A typical formula might contain cell references, constants, and even functions.
-To quickly learn How to Work with Formulas in an Excel Using the .NET Excel Library, check out this video:
-{% youtube "https://www.youtube.com/watch?v=SjHcYYvVSF4" %}
-
## Enable and Disable Calculation
To perform calculation in an Excel workbook, it is recommended to invoke [EnableSheetCalculations](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorksheet.html#Syncfusion_XlsIO_IWorksheet_EnableSheetCalculations) method of [IWorksheet](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorksheet.html). Enabling this method will initialize [CalcEngine](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-formulas#calculation-engine) objects and retrieves calculated values of formulas in a worksheet.
diff --git a/Document-Processing/Excel/Excel-Library/NET/Worksheet/Page-Setup-Options.md b/Document-Processing/Excel/Excel-Library/NET/Worksheet/Page-Setup-Options.md
index 66a89a2ca..947905787 100644
--- a/Document-Processing/Excel/Excel-Library/NET/Worksheet/Page-Setup-Options.md
+++ b/Document-Processing/Excel/Excel-Library/NET/Worksheet/Page-Setup-Options.md
@@ -1024,118 +1024,4 @@ End Using
{% endhighlight %}
{% endtabs %}
-A complete working example to add headers and footers in an Excel document using C# is present on [this GitHub page.](https://github.com/SyncfusionExamples/XlsIO-Examples/tree/master/Worksheet%20Features/Header%20and%20Footer/.NET/Header%20and%20Footer)
-
-## Paper Size
-
-The PaperSize functionality allows you to specify the paper size for worksheet.
-
-The following code snippet shows how to use PaperSize.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/Worksheet%20Features/PaperSize/.NET/PaperSize/PaperSize/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Set the paper size to A4
- worksheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4;
-
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open("InputTemplate.xlsx");
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Set the paper size to A4
- worksheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4;
-
- //Saving the workbook
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As ExcelEngine = New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
- Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
- Dim worksheet As IWorksheet = workbook.Worksheets(0)
-
- 'Set the paper size to A4
- worksheet.PageSetup.PaperSize = ExcelPaperSize.PaperA4
-
- 'Saving the workbook
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to set the paper size in C# is present on this GitHub page.
-
-## Orientation
-
-The Orientation functionality allows you to specify the orientation for worksheet.
-
-The following code snippet shows how to use Orientation.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/Worksheet%20Features/Orientation/.NET/Orientation/Orientation/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Set the page orientation
- worksheet.PageSetup.Orientation = ExcelPageOrientation.Landscape;
-
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open("InputTemplate.xlsx");
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Set the page orientation
- worksheet.PageSetup.Orientation = ExcelPageOrientation.Landscape;
-
- //Saving the workbook
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As ExcelEngine = New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
- Dim workbook As IWorkbook = application.Workbooks.Open("InputTemplate.xlsx")
- Dim worksheet As IWorksheet = workbook.Worksheets(0)
-
- 'Set the page orientation
- worksheet.PageSetup.Orientation = ExcelPageOrientation.Landscape
-
- 'Saving the workbook
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to set the page orientation in C# is present on this GitHub page.
\ No newline at end of file
+A complete working example to add headers and footers in an Excel document using C# is present on [this GitHub page.](https://github.com/SyncfusionExamples/XlsIO-Examples/tree/master/Worksheet%20Features/Header%20and%20Footer/.NET/Header%20and%20Footer)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/create-read-edit-excel-files-in-aws-lambda.md b/Document-Processing/Excel/Excel-Library/NET/create-read-edit-excel-files-in-aws-lambda.md
index ebe6e825f..26a5cafae 100644
--- a/Document-Processing/Excel/Excel-Library/NET/create-read-edit-excel-files-in-aws-lambda.md
+++ b/Document-Processing/Excel/Excel-Library/NET/create-read-edit-excel-files-in-aws-lambda.md
@@ -222,9 +222,17 @@ using (ExcelEngine excelEngine = new ExcelEngine())
worksheet.Range["A9:A14"].RowHeight = 15;
worksheet.Range["A15:A23"].RowHeight = 18;
- MemoryStream stream = new MemoryStream();
+ //Saving the Excel to the MemoryStream
+ MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);
- return Convert.ToBase64String(stream.ToArray());
+
+ //Set the position as '0'.
+ stream.Position = 0;
+
+ //Download the Excel file in the browser
+ FileStreamResult fileStreamResult = new FileStreamResult(stream, "application/excel");
+ fileStreamResult.FileDownloadName = "Output.xlsx";
+ return fileStreamResult;
}
{% endhighlight %}
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/How-to-apply-a-number-format-to-an-entire-row-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/How-to-apply-a-number-format-to-an-entire-row-in-Excel.md
new file mode 100644
index 000000000..3d39be518
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/How-to-apply-a-number-format-to-an-entire-row-in-Excel.md
@@ -0,0 +1,72 @@
+---
+title: Apply a number format to an entire row in Excel | Syncfusion
+description: Learn how to apply a number format to an entire row in Excel using the Syncfusion .NET Excel (XlsIO) library.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to apply a number format to an entire row in Excel?
+
+The following examples illustrate how to apply a number format to an entire row in Excel in C# (cross-platform and Windows-specific) and VB.NET.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Number%20format%20for%20entire%20row/.NET/Numberformatforentirerow/Numberformatforentirerow/Program.cs,180" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ worksheet["A1"].Number = 1000.500;
+ worksheet["B1"].Number = 1234;
+ worksheet["C1"].Number = 54321.500;
+ worksheet["D1"].Number = .500;
+
+ worksheet["A1"].EntireRow.NumberFormat = "#,##0.0000";
+
+ workbook.SaveAs("../../../Output/NumberFormats.xlsx");
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ worksheet["A1"].Number = 1000.500;
+ worksheet["B1"].Number = 1234;
+ worksheet["C1"].Number = 54321.500;
+ worksheet["D1"].Number = .500;
+
+ worksheet["A1"].EntireRow.NumberFormat = "#,##0.0000";
+
+ workbook.SaveAs("../../Output/NumberFormats.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+
+ Dim workbook As IWorkbook = application.Workbooks.Create(1)
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ worksheet("A1").Number = 1000.5
+ worksheet("B1").Number = 1234
+ worksheet("C1").Number = 54321.5
+ worksheet("D1").Number = 0.5
+
+ worksheet("A1").EntireRow.NumberFormat = "#,##0.0000"
+
+ workbook.SaveAs("../../Output/NumberFormats.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example to demonstrate how to apply a number format to an entire row in Excel using C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/can-pivot-tables-share-calculate-field-names.md b/Document-Processing/Excel/Excel-Library/NET/faqs/can-pivot-tables-share-calculate-field-names.md
deleted file mode 100644
index 7b98e3a68..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/can-pivot-tables-share-calculate-field-names.md
+++ /dev/null
@@ -1,204 +0,0 @@
----
-title: Calculated field naming across PivotTables | Syncfusion
-description: This page explains whether multiple PivotTables can use calculated fields with the same name in Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Can PivotTables have the same name for multiple calculated fields?
-
-In **Microsoft Excel**, calculated fields are scoped to the pivot cache, not to individual PivotTables.
-
-This means:
-
-* **If multiple PivotTables share the same cache**
- * Calculated fields with the same name cannot be defined. Excel reuses the existing field from the cache, and its formula cannot be redefined independently.
- * Calculated fields with different names can be defined, and they will be available to all PivotTables that share that cache.
-
-* **If PivotTables use separate caches (even if the source data is identical)**
- * Calculated fields with the same name or with different names can be defined. Each cache maintains its own calculated field collection, so there is no conflict.
-
-**Syncfusion XlsIO** follows the same cache scoped behavior:
-* With a shared cache, calculated field names must be unique.
-* With separate caches, calculated field names can be identical or different.
-
-The following examples illustrate calculated field naming across PivotTables in C# (cross-platform and Windows-specific) and VB.NET.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Pivot%20Tables%20Calculated%20Field%20Names/.NET/PivotTablesCalculatedFieldNames/PivotTablesCalculatedFieldNames/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(3);
- IWorksheet dataSheet = workbook.Worksheets[0];
- IWorksheet pivotSheet1 = workbook.Worksheets[1];
- IWorksheet pivotSheet2 = workbook.Worksheets[2];
-
- //Add sample data
- dataSheet.Range["A1"].Text = "Product";
- dataSheet.Range["B1"].Text = "Sales";
- dataSheet.Range["C1"].Text = "Cost";
-
- dataSheet.Range["A2"].Text = "Laptop";
- dataSheet.Range["B2"].Number = 5000;
- dataSheet.Range["C2"].Number = 3000;
-
- dataSheet.Range["A3"].Text = "Tablet";
- dataSheet.Range["B3"].Number = 3000;
- dataSheet.Range["C3"].Number = 2000;
-
- dataSheet.Range["A4"].Text = "Phone";
- dataSheet.Range["B4"].Number = 4000;
- dataSheet.Range["C4"].Number = 2500;
-
- //CASE 1: Shared pivot cache - calculated field names must be unique
- IPivotCache sharedCache = workbook.PivotCaches.Add(dataSheet["A1:C4"]);
-
- IPivotTable pivot1 = pivotSheet1.PivotTables.Add("Pivot1", pivotSheet1["A1"], sharedCache);
- pivot1.Fields[0].Axis = PivotAxisTypes.Row;
- pivot1.DataFields.Add(pivot1.Fields[1], "Total Sales", PivotSubtotalTypes.Sum);
- pivot1.CalculatedFields.Add("Profit", "Sales - Cost");
-
- IPivotTable pivot2 = pivotSheet1.PivotTables.Add("Pivot2", pivotSheet1["F1"], sharedCache);
- pivot2.Fields[0].Axis = PivotAxisTypes.Row;
- pivot2.DataFields.Add(pivot2.Fields[2], "Total Cost", PivotSubtotalTypes.Sum);
- pivot2.CalculatedFields.Add("Margin", "Sales - Cost");
-
- //CASE 2: Separate pivot caches - identical or different calculated field names are allowed
- IPivotTable pivot3 = pivotSheet2.PivotTables.Add("Pivot3", pivotSheet2["A1"],
- workbook.PivotCaches.Add(dataSheet["A1:C4"]));
- pivot3.Fields[0].Axis = PivotAxisTypes.Row;
- pivot3.DataFields.Add(pivot3.Fields[1], "Total Sales", PivotSubtotalTypes.Sum);
- pivot3.CalculatedFields.Add("Profit", "Sales - Cost");
-
- IPivotTable pivot4 = pivotSheet2.PivotTables.Add("Pivot4", pivotSheet2["F1"],
- workbook.PivotCaches.Add(dataSheet["A1:C4"]));
- pivot4.Fields[0].Axis = PivotAxisTypes.Row;
- pivot4.DataFields.Add(pivot4.Fields[2], "Total Cost", PivotSubtotalTypes.Sum);
- pivot4.CalculatedFields.Add("Profit", "Sales - Cost");
-
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(3);
- IWorksheet dataSheet = workbook.Worksheets[0];
- IWorksheet pivotSheet1 = workbook.Worksheets[1];
- IWorksheet pivotSheet2 = workbook.Worksheets[2];
-
- //Add sample data
- dataSheet.Range["A1"].Text = "Product";
- dataSheet.Range["B1"].Text = "Sales";
- dataSheet.Range["C1"].Text = "Cost";
-
- dataSheet.Range["A2"].Text = "Laptop";
- dataSheet.Range["B2"].Number = 5000;
- dataSheet.Range["C2"].Number = 3000;
-
- dataSheet.Range["A3"].Text = "Tablet";
- dataSheet.Range["B3"].Number = 3000;
- dataSheet.Range["C3"].Number = 2000;
-
- dataSheet.Range["A4"].Text = "Phone";
- dataSheet.Range["B4"].Number = 4000;
- dataSheet.Range["C4"].Number = 2500;
-
- //CASE 1: Shared pivot cache - calculated field names must be unique
- IPivotCache sharedCache = workbook.PivotCaches.Add(dataSheet["A1:C4"]);
-
- IPivotTable pivot1 = pivotSheet1.PivotTables.Add("Pivot1", pivotSheet1["A1"], sharedCache);
- pivot1.Fields[0].Axis = PivotAxisTypes.Row;
- pivot1.DataFields.Add(pivot1.Fields[1], "Total Sales", PivotSubtotalTypes.Sum);
- pivot1.CalculatedFields.Add("Profit", "Sales - Cost");
-
- IPivotTable pivot2 = pivotSheet1.PivotTables.Add("Pivot2", pivotSheet1["F1"], sharedCache);
- pivot2.Fields[0].Axis = PivotAxisTypes.Row;
- pivot2.DataFields.Add(pivot2.Fields[2], "Total Cost", PivotSubtotalTypes.Sum);
- pivot2.CalculatedFields.Add("Margin", "Sales - Cost");
-
- //CASE 2: Separate pivot caches - identical or different calculated field names are allowed
- IPivotTable pivot3 = pivotSheet2.PivotTables.Add("Pivot3", pivotSheet2["A1"],
- workbook.PivotCaches.Add(dataSheet["A1:C4"]));
- pivot3.Fields[0].Axis = PivotAxisTypes.Row;
- pivot3.DataFields.Add(pivot3.Fields[1], "Total Sales", PivotSubtotalTypes.Sum);
- pivot3.CalculatedFields.Add("Profit", "Sales - Cost");
-
- IPivotTable pivot4 = pivotSheet2.PivotTables.Add("Pivot4", pivotSheet2["F1"],
- workbook.PivotCaches.Add(dataSheet["A1:C4"]));
- pivot4.Fields[0].Axis = PivotAxisTypes.Row;
- pivot4.DataFields.Add(pivot4.Fields[2], "Total Cost", PivotSubtotalTypes.Sum);
- pivot4.CalculatedFields.Add("Profit", "Sales - Cost");
-
- //Saving the workbook
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
-
- Dim workbook As IWorkbook = application.Workbooks.Create(3)
- Dim dataSheet As IWorksheet = workbook.Worksheets(0)
- Dim pivotSheet1 As IWorksheet = workbook.Worksheets(1)
- Dim pivotSheet2 As IWorksheet = workbook.Worksheets(2)
-
- ' Add sample data
- dataSheet.Range("A1").Text = "Product"
- dataSheet.Range("B1").Text = "Sales"
- dataSheet.Range("C1").Text = "Cost"
-
- dataSheet.Range("A2").Text = "Laptop"
- dataSheet.Range("B2").Number = 5000
- dataSheet.Range("C2").Number = 3000
-
- dataSheet.Range("A3").Text = "Tablet"
- dataSheet.Range("B3").Number = 3000
- dataSheet.Range("C3").Number = 2000
-
- dataSheet.Range("A4").Text = "Phone"
- dataSheet.Range("B4").Number = 4000
- dataSheet.Range("C4").Number = 2500
-
- 'CASE 1: Shared pivot cache - calculated field names must be unique
- Dim sharedCache As IPivotCache = workbook.PivotCaches.Add(dataSheet.Range("A1:C4"))
-
- Dim pivot1 As IPivotTable = pivotSheet1.PivotTables.Add("Pivot1", pivotSheet1.Range("A1"), sharedCache)
- pivot1.Fields(0).Axis = PivotAxisTypes.Row
- pivot1.DataFields.Add(pivot1.Fields(1), "Total Sales", PivotSubtotalTypes.Sum)
- pivot1.CalculatedFields.Add("Profit", "Sales - Cost")
-
- Dim pivot2 As IPivotTable = pivotSheet1.PivotTables.Add("Pivot2", pivotSheet1.Range("F1"), sharedCache)
- pivot2.Fields(0).Axis = PivotAxisTypes.Row
- pivot2.DataFields.Add(pivot2.Fields(2), "Total Cost", PivotSubtotalTypes.Sum)
- pivot2.CalculatedFields.Add("Margin", "Sales - Cost")
-
- 'CASE 2: Separate pivot caches - identical or different calculated field names are allowed
- Dim pivot3 As IPivotTable = pivotSheet2.PivotTables.Add("Pivot3", pivotSheet2.Range("A1"),
- workbook.PivotCaches.Add(dataSheet.Range("A1:C4")))
- pivot3.Fields(0).Axis = PivotAxisTypes.Row
- pivot3.DataFields.Add(pivot3.Fields(1), "Total Sales", PivotSubtotalTypes.Sum)
- pivot3.CalculatedFields.Add("Profit", "Sales - Cost")
-
- Dim pivot4 As IPivotTable = pivotSheet2.PivotTables.Add("Pivot4", pivotSheet2.Range("F1"),
- workbook.PivotCaches.Add(dataSheet.Range("A1:C4")))
- pivot4.Fields(0).Axis = PivotAxisTypes.Row
- pivot4.DataFields.Add(pivot4.Fields(2), "Total Cost", PivotSubtotalTypes.Sum)
- pivot4.CalculatedFields.Add("Profit", "Sales - Cost")
-
- 'Saving the workbook
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to demonstrate calculated field naming across PivotTables using C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/can-xlsio-determine-PDF-page-count-before-Excel-to-PDF-conversion.md b/Document-Processing/Excel/Excel-Library/NET/faqs/can-xlsio-determine-PDF-page-count-before-Excel-to-PDF-conversion.md
deleted file mode 100644
index 16da732ac..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/can-xlsio-determine-PDF-page-count-before-Excel-to-PDF-conversion.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: XlsIO support for page count before PDF conversion | Syncfusion
-description: This page explains whether Syncfusion XlsIO can determine the total number of pages of the PDF file before Excel to PDF conversion.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Can XlsIO determine PDF page count before Excel to PDF conversion?
-
-No. XlsIO does not support determining the page count of the PDF document before Excel to PDF conversion. The final page count depends on factors such as print settings, page layout, scaling options, and content distribution. These elements can only be assessed during the conversion process, so calculating the page count in advance is not possible.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-auto-adjust-chart-axis-minimum-and-maximum-values.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-auto-adjust-chart-axis-minimum-and-maximum-values.md
deleted file mode 100644
index 50c10f753..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-auto-adjust-chart-axis-minimum-and-maximum-values.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-title: Chart axis auto-adjust in XlsIO | Syncfusion
-description: This page explains whether Syncfusion XlsIO supports auto adjustment of chart axis values using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Does XlsIO auto-adjust chart axis minimum and maximum values?
-
-No. In Microsoft Excel, if the axis maximum value is lower than the minimum value, Excel automatically adjusts the minimum value (for example, a minimum of 1.25 and maximum of 0 may yield a minimum like -10). XlsIO does not support this auto adjustment of chart axis values. When configuring chart axes, ensure that the maximum value is greater than the minimum value.
-
-For details on setting chart axis minimum and maximum values in XlsIO, see the Chart Axis Settings.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-autofit-row-and-column-sizes-based-on-images.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-autofit-row-and-column-sizes-based-on-images.md
deleted file mode 100644
index a90349a05..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-autofit-row-and-column-sizes-based-on-images.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Row and column autofit with images in XlsIO | Syncfusion
-description: This page explains whether Syncfusion XlsIO supports autofitting row height and column width based on images using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Does XlsIO autofit row and column sizes based on images?
-
-No. In Microsoft Excel, the **Autofit** functionality adjusts row height and column width based on cell content only; it does not autofit sizes based on images. Syncfusion XlsIO follows the same behavior.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-prefix-pivot-table-calculated-field-headers-with-sum-of.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-prefix-pivot-table-calculated-field-headers-with-sum-of.md
deleted file mode 100644
index fe3244be3..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-prefix-pivot-table-calculated-field-headers-with-sum-of.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: PivotTable calculated field header prefix in XlsIO | Syncfusion
-description: This page explains whether Syncfusion XlsIO prefixes PivotTable calculated field headers with "Sum of" when adding a calculated field.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Does XlsIO prefix PivotTable calculated field headers with "Sum of"?
-
-Yes. When a calculated field is added to a PivotTable, Microsoft Excel automatically prefixes the column header with **Sum of** before the original name. For example, a field named **Profit** becomes **Sum of Profit**. XlsIO follows the same behavior to remain consistent with Excel.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-converting-an-xlsb-file-to-xlsx.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-converting-an-xlsb-file-to-xlsx.md
deleted file mode 100644
index 6613de80a..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-converting-an-xlsb-file-to-xlsx.md
+++ /dev/null
@@ -1,56 +0,0 @@
----
-title: Convert XLSB to XLSX using XlsIO | Syncfusion
-description: This page explains how to convert an XLSB file to XLSX with the Syncfusion .NET Excel (XlsIO) library.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Does XlsIO support converting an XLSB file to XLSX?
-
-Yes. XlsIO supports converting an XLSB file to XLSX; however, the conversion is limited to cell values and cell styles.
-
-The example below shows how to convert an XLSB file to an XLSX file.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
-
- //Open an existing XLSB file
- IWorkbook workbook = application.Workbooks.Open("Sample.xlsb");
-
- //Save the file as XLSX
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
-
- //Open an existing XLSB file
- IWorkbook workbook = application.Workbooks.Open("Sample.xlsb");
-
- //Save the file as XLSX
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
-
- ' Open an existing XLSB file
- Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsb")
-
- ' Save the file as XLSX
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-internal-links-when-converting-Excel-to-PDF.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-internal-links-when-converting-Excel-to-PDF.md
deleted file mode 100644
index fdd3c01a8..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-internal-links-when-converting-Excel-to-PDF.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Support for internal links when converting Excel to PDF | Syncfusion
-description: This page explains whether Syncfusion XlsIO supports internal links when converting Excel to PDF using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# Does XlsIO support internal links when converting Excel to PDF?
-
-No. As per Microsoft Excel behavior, internal links within a worksheet are not retained when exported to PDF. Similarly, XlsIO does not support adding internal links in the converted PDF document.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-opacity-or-transparency-for-cell-background-colors-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-opacity-or-transparency-for-cell-background-colors-in-Excel.md
deleted file mode 100644
index 82ce72ea8..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/does-xlsio-support-opacity-or-transparency-for-cell-background-colors-in-Excel.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-title: Transparency support for cell background color | Syncfusion
-description: Learn whether Syncfusion XlsIO supports setting Opacity or transparency for cell background colors in Excel.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# XlsIO support for cell background color transparency in Excel
-
-XlsIO does not support opacity or transparency for cell background colors in Excel.
-
-While the XlsIO API allows setting alpha (transparency) values for cell background colors, Microsoft Excel does not support rendering transparent cell fills. Excel silently discards the alpha component during rendering and file saving. As a result, any transparency value set in XlsIO will be ignored, and Excel will apply only the RGB portion of the color.
-
-**For example:**
-~~~
-worksheet.Range["A1"].CellStyle.Color = Color.FromArgb(128, 255, 0, 0) //(50% transparent red)
-worksheet.Range["A2"].CellStyle.Color = Color.FromArgb(255, 255, 0, 0) //(solid red)
-~~~
-
-Both render identically in Excel as solid red. While XlsIO accepts ARGB inputs, the alpha component has no effect due to Excel's inherent limitations. Only the RGB portion of the color is applied.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-are-spaces-in-cell-values-handled-by-xlsio-during-calculation.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-are-spaces-in-cell-values-handled-by-xlsio-during-calculation.md
deleted file mode 100644
index 9735d0177..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-are-spaces-in-cell-values-handled-by-xlsio-during-calculation.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Handling spaces in Excel calculations | Syncfusion
-description: This page explains how Microsoft Excel and Syncfusion XlsIO handle leading and trailing spaces in cell values during calculation and display.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How are spaces in cell values handled by XlsIO during calculation?
-
-In Microsoft Excel, leading and trailing spaces in cell values are preserved for display purposes. However, when performing calculations (for example, **=A1+5** where A1 contains **" 25 "** with spaces), Excel automatically ignores those spaces and treats the underlying numeric value. Spaces are always shown in the cell but ignored in calculations. Syncfusion XlsIO follows the same behavior.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-many-hyperlinks-can-a-single-cell-contain-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-many-hyperlinks-can-a-single-cell-contain-in-Excel.md
deleted file mode 100644
index b88b1a059..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-many-hyperlinks-can-a-single-cell-contain-in-Excel.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Hyperlinks in a single cell in Excel | Syncfusion
-description: Learn about how many hyperlinks can a single cell contain in Excel using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How many hyperlinks can a single cell contain in Excel?
-
-In Microsoft Excel, a single cell can contain only **one hyperlink**. It is not possible to assign multiple hyperlinks to the same cell. This limitation applies when working with Excel manually or programmatically using the Syncfusion .NET Excel library (XlsIO).
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-align-the-image-inside-the-cell.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-align-the-image-inside-the-cell.md
deleted file mode 100644
index cb22aa130..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-align-the-image-inside-the-cell.md
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: Align a picture inside a cell in an Excel worksheet | Syncfusion
-description: Learn how to align an image precisely within a worksheet cell using the Syncfusion .NET Excel (XlsIO) library, including positioning, fitting to the cell.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to align a picture inside a cell in an Excel worksheet?
-
-Image can be aligned in the cell as required using the **TopRowOffset** and **LeftColumnOffset** properties of **ShapeImpl** instance. The following example shows how to align a picture inside a worksheet cell using the Syncfusion .NET Excel (XlsIO) library.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- int row = 2;
- int column = 3;
-
- //Adding a picture
- FileStream imageStream = new FileStream("../../../Data/Image.png", FileMode.Open, FileAccess.Read);
- IPictureShape shape = worksheet.Pictures.AddPicture(row, column, imageStream);
-
- //Insert the image into the cell
- (shape as ShapeImpl).Height = worksheet.GetRowHeightInPixels(row);
- (shape as ShapeImpl).Width = worksheet.GetColumnWidthInPixels(column);
-
- //Algin the image inside the cell
- (shape as ShapeImpl).TopRowOffset = 50;
- (shape as ShapeImpl).LeftColumnOffset = 50;
-
- #region Save
- //Saving the workbook
- workbook.SaveAs("../../../Output/Picture.xlsx");
- #endregion
-
- //Dispose streams
- imageStream.Dispose();
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- int row = 2;
- int column = 3;
-
- //Adding a picture
- string image = "../../Data/Image.png";
- IPictureShape shape = worksheet.Pictures.AddPicture(row, column, image);
-
- // Insert the image into the cell
- (shape as ShapeImpl).Height = worksheet.GetRowHeightInPixels(row);
- (shape as ShapeImpl).Width = worksheet.GetColumnWidthInPixels(column);
-
- //Algin the image inside the cell
- (shape as ShapeImpl).TopRowOffset = 50;
- (shape as ShapeImpl).LeftColumnOffset = 50;
-
- #region Save
- //Saving the workbook
- workbook.SaveAs("../../Output/Picture.xlsx");
- #endregion
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
- Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
-
- Dim workbook As IWorkbook = application.Workbooks.Create(1)
- Dim worksheet As IWorksheet = workbook.Worksheets(0)
-
- Dim row As Integer = 2
- Dim column As Integer = 3
-
- ' Adding a picture
- Dim image As String = "../../Data/Image.png"
- Dim shape As IPictureShape = worksheet.Pictures.AddPicture(row, column, image)
-
- ' Insert the image into the cell
- Dim impl As ShapeImpl = CType(shape, ShapeImpl)
- impl.Height = worksheet.GetRowHeightInPixels(row)
- impl.Width = worksheet.GetColumnWidthInPixels(column)
-
- ' Align the image inside the cell
- impl.TopRowOffset = 50
- impl.LeftColumnOffset = 50
-
- ' Save
- workbook.SaveAs("../../Output/Picture.xlsx")
- End Using
-{% endhighlight %}
-{% endtabs %}
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-border-styles-for-merged-cells.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-border-styles-for-merged-cells.md
new file mode 100644
index 000000000..690d0f630
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-border-styles-for-merged-cells.md
@@ -0,0 +1,101 @@
+---
+title: Apply border styles to merged cells in Excel | Syncfusion
+description: Learn how to apply border styles to merged cells in Excel using the Syncfusion .NET Excel (XlsIO) library.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to apply border styles for merged cells?
+
+As per the Microsoft Excel UI Behavior, while applying the styles to the single cell in the merged region, then it will apply only to that single cell. So please use the **MergeArea** property to apply the styles to the entire merged region.
+
+The following examples show how to apply border styles for merged cells in C# (cross-platform and Windows-specific) and VB.NET.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Border%20styles%20for%20merged%20cells/.NET/Borderstylesformergedcells/Borderstylesformergedcells/Program.cs,180" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open("../../../Data/Input.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ # region Creating a new style
+ IStyle style = workbook.Styles.Add("NewStyle");
+
+ style.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thick;
+ style.Borders.Color = ExcelKnownColors.Red;
+
+ style.Font.Bold = true;
+ style.Font.Color = ExcelKnownColors.Green;
+ style.Font.Size = 24;
+ #endregion
+
+ //Applying style for merged region
+ worksheet.Range[2, 1].MergeArea.CellStyle = style;
+
+ workbook.SaveAs("../../../Output/MergeArea_Style.xlsx");
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Open("../../Data/Input.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ # region Creating a new style
+ IStyle style = workbook.Styles.Add("NewStyle");
+
+ style.Borders[ExcelBordersIndex.EdgeLeft].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeRight].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thick;
+ style.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thick;
+ style.Borders.Color = ExcelKnownColors.Red;
+
+ style.Font.Bold = true;
+ style.Font.Color = ExcelKnownColors.Green;
+ style.Font.Size = 24;
+ #endregion
+
+ //Applying style for merged region
+ worksheet.Range[2,1].MergeArea.CellStyle = style;
+
+ workbook.SaveAs("../../Output/MergeArea_Style.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+ Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+
+ Dim workbook As IWorkbook = application.Workbooks.Open("../../Data/Input.xlsx")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ ' Creating a new style
+ Dim style As IStyle = workbook.Styles.Add("NewStyle")
+ style.Borders(ExcelBordersIndex.EdgeLeft).LineStyle = ExcelLineStyle.Thick
+ style.Borders(ExcelBordersIndex.EdgeRight).LineStyle = ExcelLineStyle.Thick
+ style.Borders(ExcelBordersIndex.EdgeTop).LineStyle = ExcelLineStyle.Thick
+ style.Borders(ExcelBordersIndex.EdgeBottom).LineStyle = ExcelLineStyle.Thick
+ style.Borders.Color = ExcelKnownColors.Red
+ style.Font.Bold = True
+ style.Font.Color = ExcelKnownColors.Green
+ style.Font.Size = 24
+
+ ' Applying style for merged region
+ worksheet.Range(2, 1).MergeArea.CellStyle = style
+
+ workbook.SaveAs("../../Output/MergeArea_Style.xlsx")
+ End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example to apply border styles for merged cells using C# is present on this GitHub page.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-custom-filtering-to-string-data-types-using-XlsIO.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-custom-filtering-to-string-data-types-using-XlsIO.md
deleted file mode 100644
index 427c13e6f..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-custom-filtering-to-string-data-types-using-XlsIO.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-title: Apply custom filtering to string data types using XlsIO | Syncfusion
-description: Code example to apply custom filtering to string data types using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to apply custom filtering to string data types using XlsIO?
-
-The following code snippets illustrate how to apply custom filtering to string data types in C# (cross-platform and Windows-specific) and VB.NET.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Filtering/.NET/Custom%20Filter%20String%20Type/CustomFilterStringType/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/Input.xlsx"));
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Creating an AutoFilter
- worksheet.AutoFilters.FilterRange = worksheet.Range["A1:A11"];
- IAutoFilter filter = worksheet.AutoFilters[0];
-
- //Specifying first condition
- IAutoFilterCondition firstCondition = filter.FirstCondition;
- firstCondition.ConditionOperator = ExcelFilterCondition.DoesNotContain;
- firstCondition.String = "1000.00";
-
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open("Input.xlsx");
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Creating an AutoFilter
- worksheet.AutoFilters.FilterRange = worksheet.Range["A1:A11"];
- IAutoFilter filter = worksheet.AutoFilters[0];
-
- //Specifying first condition
- IAutoFilterCondition firstCondition = filter.FirstCondition;
- firstCondition.ConditionOperator = ExcelFilterCondition.DoesNotContain;
- firstCondition.String = "1000.00";
-
- //Saving the workbook
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
- Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")
- Dim sheet As IWorksheet = workbook.Worksheets(0)
-
- 'Creating an AutoFilter
- sheet.AutoFilters.FilterRange = sheet.Range("A1:A11")
- Dim filter As IAutoFilter = sheet.AutoFilters(0)
-
- 'Specifying first condition
- Dim firstCondition As IAutoFilterCondition = filter.FirstCondition
- firstCondition.ConditionOperator = ExcelFilterCondition.DoesNotContain
- firstCondition.String = 1000.0
-
- 'Saving the workbook
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to apply custom filtering to string data types using C# is present on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-superscript-for-certain-text-in-the-cell.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-superscript-for-certain-text-in-the-cell.md
new file mode 100644
index 000000000..42587b3e8
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-superscript-for-certain-text-in-the-cell.md
@@ -0,0 +1,90 @@
+---
+title: Apply Superscript to Text in an Excel Cell | Syncfusion
+description: Learn how to apply superscript to specific text in an Excel cell without affecting existing styles using the Syncfusion .NET Excel library (XlsIO).
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to apply superscript to certain text in a cell?
+
+The following code example illustrates how to apply superscript to certain text in a cell without affecting the existing style in C# (cross-platform and Windows-specific) and VB.NET.
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Superscript/.NET/Superscript%20for%20certain%20texts/SuperscriptForCertainTexts/Program.cs,180" %}
+ using (ExcelEngine excelEngine = new ExcelEngine())
+ {
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ //Create a workbook
+ IWorkbook workbook = application.Workbooks.Open("../../../Data/Sample.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ //Add Text
+ IRange range = worksheet.Range["A1"];
+ IRichTextString richText = range.RichText;
+
+ IFont superScript = workbook.CreateFont();
+ superScript.Size = richText.GetFont(6).Size;
+ superScript.FontName = richText.GetFont(6).FontName;
+ superScript.Color = richText.GetFont(6).Color;
+ superScript.Superscript = true;
+ richText.SetFont(6, 6, superScript);
+
+
+ //Save the workbook to disk in xlsx format
+ workbook.SaveAs("../../../Output/Output.xlsx");
+ }
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ //Create a workbook
+ IWorkbook workbook = application.Workbooks.Open("../../Data/Sample.xlsx");
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ //Add Text
+ IRange range = worksheet.Range["A1"];
+ IRichTextString richText = range.RichText;
+
+ IFont superScript = workbook.CreateFont();
+ superScript.Size = richText.GetFont(6).Size;
+ superScript.FontName = richText.GetFont(6).FontName;
+ superScript.Color = richText.GetFont(6).Color;
+ superScript.Superscript = true;
+ richText.SetFont(6, 6, superScript);
+
+
+ //Save the workbook to disk in xlsx format
+ workbook.SaveAs("../../Output/Output.xlsx");
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+ Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+ 'Create a workbook
+ Dim workbook As IWorkbook = application.Workbooks.Open("../../Data/Sample.xlsx")
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ 'Add Text
+ Dim range As IRange = worksheet.Range("A1")
+ Dim richText As IRichTextString = range.RichText
+
+ Dim superScript As IFont = workbook.CreateFont()
+ superScript.Size = richText.GetFont(6).Size
+ superScript.FontName = richText.GetFont(6).FontName
+ superScript.Color = richText.GetFont(6).Color
+ superScript.Superscript = True
+ richText.SetFont(6, 6, superScript)
+
+ 'Save the workbook to disk in xlsx format
+ workbook.SaveAs("../../Output/Output.xlsx")
+ End Using
+{% endhighlight %}
+{% endtabs %}
+
+A complete working example to apply superscript to certain text in a cell using C# is present on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-the-formatting-for-a-particular-column-while-importing-data-from-collection-objects.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-the-formatting-for-a-particular-column-while-importing-data-from-collection-objects.md
deleted file mode 100644
index 14d963da0..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-apply-the-formatting-for-a-particular-column-while-importing-data-from-collection-objects.md
+++ /dev/null
@@ -1,171 +0,0 @@
----
-title: Apply formatting to a specific column when importing data | Syncfusion
-description: Code example showing how to apply formatting to a specific column when importing data from collection objects using the Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to apply formatting to a specific column while importing data?
-
-To apply formatting to a specific column while importing data from collection objects, use the **DisplayFormatAttribute** in the class definition, as shown in the example below.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Import the data to worksheet
- IList reports = GetSalesReports();
- worksheet.ImportData(reports, 2, 1, false);
-
- #region Save
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath("Output/ImportCollectionObjects.xlsx"));
- #endregion
-}
-
-//Gets a list of sales reports
-public static List GetSalesReports()
-{
- List reports = new List();
- reports.Add(new Customer("Andy Bernard", 45000, 58000));
- reports.Add(new Customer("Jim Halpert", 34000, 65000));
- reports.Add(new Customer("Karen Fillippelli", 75000, 64000));
- reports.Add(new Customer("Phyllis Lapin", 56500, 33600));
- reports.Add(new Customer("Stanley Hudson", 46500, 52000));
- return reports;
-}
-
-//Customer details
-public class Customer
-{
- [DisplayNameAttribute("Sales Person Name")]
- public string SalesPerson
- {
- get; set;
- }
- **[DisplayFormat(DataFormatString = "$#,###.00")]**
- public int SalesJanJun { get; set; }
-
- **[DisplayFormat(DataFormatString = "$#,###.00")]**
- public int SalesJulDec { get; set; }
-
- public Customer(string name, int janToJun, int julToDec)
- {
- SalesPerson = name;
- SalesJanJun = janToJun;
- SalesJulDec = julToDec;
- }
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Import the data to worksheet
- IList reports = GetSalesReports();
- worksheet.ImportData(reports, 2, 1, false);
-
- #region Save
- //Saving the workbook
- workbook.SaveAs(Path.GetFullPath("Output/ImportCollectionObjects.xlsx"));
- #endregion
-}
-
-//Gets a list of sales reports
-public static List GetSalesReports()
-{
- List reports = new List();
- reports.Add(new Customer("Andy Bernard", 45000, 58000));
- reports.Add(new Customer("Jim Halpert", 34000, 65000));
- reports.Add(new Customer("Karen Fillippelli", 75000, 64000));
- reports.Add(new Customer("Phyllis Lapin", 56500, 33600));
- reports.Add(new Customer("Stanley Hudson", 46500, 52000));
- return reports;
-}
-
-//Customer details
-public class Customer
-{
- [DisplayNameAttribute("Sales Person Name")]
- public string SalesPerson
- {
- get; set;
- }
- **[DisplayFormat(DataFormatString = "$#,###.00")]**
- public int SalesJanJun { get; set; }
-
- **[DisplayFormat(DataFormatString = "$#,###.00")]**
- public int SalesJulDec { get; set; }
-
- public Customer(string name, int janToJun, int julToDec)
- {
- SalesPerson = name;
- SalesJanJun = janToJun;
- SalesJulDec = julToDec;
- }
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
-
- Dim workbook As IWorkbook = application.Workbooks.Create(1)
- Dim worksheet As IWorksheet = workbook.Worksheets(0)
-
- ' Import the data to worksheet
- Dim reports As IList(Of Customer) = GetSalesReports()
- worksheet.ImportData(reports, 2, 1, False)
-
- ' Saving the workbook
- workbook.SaveAs(Path.GetFullPath("Output/ImportCollectionObjects.xlsx"))
-End Using
-
-' Gets a list of sales reports
-Public Function GetSalesReports() As List(Of Customer)
- Dim reports As New List(Of Customer)()
- reports.Add(New Customer("Andy Bernard", 45000, 58000))
- reports.Add(New Customer("Jim Halpert", 34000, 65000))
- reports.Add(New Customer("Karen Fillippelli", 75000, 64000))
- reports.Add(New Customer("Phyllis Lapin", 56500, 33600))
- reports.Add(New Customer("Stanley Hudson", 46500, 52000))
- Return reports
-End Function
-
-' Customer details
-Public Class Customer
-
- Public Property SalesPerson As String
-
- ****
- Public Property SalesJanJun As Integer
-
- ****
- Public Property SalesJulDec As Integer
-
- Public Sub New(name As String, janToJun As Integer, julToDec As Integer)
- SalesPerson = name
- SalesJanJun = janToJun
- SalesJulDec = julToDec
- End Sub
-End Class
-{% endhighlight %}
-{% endtabs %}
-
-## See Also
-
-* [Collection Objects to Excel](https://help.syncfusion.com/document-processing/excel/excel-library/net/import-export/import-to-excel#collection-objects-to-excel)
-* [How to import data table with its data type using template markers?](https://help.syncfusion.com/document-processing/excel/excel-library/net/faqs/how-to-import-data-table-with-its-data-type-using-template-markers)
-* [Working with Template Markers](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-template-markers)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-the-used-range-from-one-Excel-workbook-to-another.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-the-used-range-from-one-Excel-workbook-to-another.md
deleted file mode 100644
index c14fddbe3..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-copy-the-used-range-from-one-Excel-workbook-to-another.md
+++ /dev/null
@@ -1,82 +0,0 @@
----
-title: Copy used range in Excel | Syncfusion
-description: Learn how to copy the used range from one Excel workbook to another using the Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to copy the used range from one Excel workbook to another?
-
-The [UsedRange](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorksheet.html#Syncfusion_XlsIO_IWorksheet_UsedRange) of [IWorksheet](https://help.syncfusion.com/cr/document-processing/Syncfusion.XlsIO.IWorksheet.html) returns the contiguous range that contains data in a worksheet. By default, Excel also considers cells that have only formatting applied as part of the used range.
-
-The following code examples show how to copy the used range from a source workbook to a destination workbook in C# (cross-platform and Windows-specific) and VB.NET.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/Copy%20Used%20Range/.NET/CopyUsedRange/CopyUsedRange/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook sourceWorkbook = application.Workbooks.Open(Path.GetFullPath(@"Data/Source.xlsx"));
- IWorkbook destinationWorkbook = application.Workbooks.Open(Path.GetFullPath(@"Data/Destination.xlsx"));
-
- IWorksheet sourceWorksheet = sourceWorkbook.Worksheets["Sheet1"];
- IWorksheet destinationWorksheet = destinationWorkbook.Worksheets["Sheet1"];
-
- //Get the actual used range from source sheet
- IRange sourceRange = sourceWorksheet.UsedRange;
-
- //Copy the entire used range from source sheet to destination sheet
- sourceRange.CopyTo(destinationWorksheet.Range[sourceRange.Row, sourceRange.Column]);
-
- //Save the destination workbook
- destinationWorkbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook sourceWorkbook = application.Workbooks.Open("Source.xlsx");
- IWorkbook destinationWorkbook = application.Workbooks.Open("Destination.xlsx");
-
- IWorksheet sourceWorksheet = sourceWorkbook.Worksheets["Sheet1"];
- IWorksheet destinationWorksheet = destinationWorkbook.Worksheets["Sheet1"];
-
- //Get the actual used range from source sheet
- IRange sourceRange = sourceWorksheet.UsedRange;
-
- //Copy the entire used range from source sheet to destination sheet
- sourceRange.CopyTo(destinationWorksheet.Range[sourceRange.Row, sourceRange.Column]);
-
- //Save the destination workbook
- destinationWorkbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
- Dim sourceWorkbook As IWorkbook = application.Workbooks.Open("Source.xlsx")
- Dim destinationWorkbook As IWorkbook = application.Workbooks.Open("Destination.xlsx")
-
- Dim sourceWorksheet As IWorksheet = sourceWorkbook.Worksheets("Sheet1")
- Dim destinationWorksheet As IWorksheet = destinationWorkbook.Worksheets("Sheet1")
-
- 'Get the actual used range from source sheet
- Dim sourceRange As IRange = sourceWorksheet.UsedRange
-
- 'Copy the entire used range from source sheet to destination sheet
- sourceRange.CopyTo(destinationWorksheet.Range(sourceRange.Row, sourceRange.Column))
-
- 'Save the destination workbook
- destinationWorkbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to copy the used range from a source workbook to a destination workbook using C# is present on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-extract-embedded-OLE-files-from-an-Excel-workbook-as-streams.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-extract-embedded-OLE-files-from-an-Excel-workbook-as-streams.md
deleted file mode 100644
index db2172994..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-extract-embedded-OLE-files-from-an-Excel-workbook-as-streams.md
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title: Extract embedded OLE files from Excel as streams | Syncfusion
-description: This page shows how to extract embedded OLE objects from Excel as streams using the Syncfusion .NET Excel (XlsIO) library.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to extract embedded OLE files from an Excel workbook as streams?
-
-You can extract OLE objects in an Excel workbook as streams using XlsIO. The following example demonstrates how to retrieve embedded files from a worksheet.
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- //Create worksheet
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- FileStream embedStream = new FileStream("../../../Sample.docx", FileMode.Open);
- FileStream imageStream = new FileStream("../../../wordIcon.jpg", FileMode.Open);
-
- //Create image stream
- Image image = Image.FromStream(imageStream);
-
- //Add ole object
- IOleObject oleObject = worksheet.OleObjects.Add(embedStream, image, OleObjectType.WordDocument);
-
- // Get the OLE part stream.
- Image image1 = Image.FromStream(worksheet.OleObjects[0].GetEmbeddedOleStream());
- MemoryStream memory = new MemoryStream(image1.ImageData);
-
- //Saving the workbook as stream
- FileStream stream = new FileStream("ExtractedFile.xlsx", FileMode.Create, FileAccess.Write);
- memory.CopyTo(stream);
- workbook.SaveAs(stream);
- stream.Dispose();
-}
-{% endhighlight %}
-
-{% endtabs %}
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-get-RGB-values-of-a-cells-background-color.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-get-RGB-values-of-a-cells-background-color.md
deleted file mode 100644
index 53dbcb1d7..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-get-RGB-values-of-a-cells-background-color.md
+++ /dev/null
@@ -1,89 +0,0 @@
----
-title: Get RGB values of a cell's background color | Syncfusion
-description: Code example to get RGB values of a cell's background color using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to get RGB values of a cell's background color?
-
-The following examples show how to get RGB values of a cell's background color in C# (cross-platform and Windows-specific) and VB.NET.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/RGB%20Value%20for%20Cell%20Color/.NET/RGB%20Value%20for%20Cell%20Color/RGBValueCellColor/Program.cs,180" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Apply cell color
- worksheet.Range["A1"].CellStyle.ColorIndex = ExcelKnownColors.Custom50;
-
- //Get the RGB values of the cell color
- Color color = worksheet.Range["A1"].CellStyle.Color;
- byte red = color.R;
- byte green = color.G;
- byte blue = color.B;
-
- //Print the RGB values
- Console.WriteLine($"Red: {red}, Green: {green}, Blue: {blue}");
-
- //Save the workbook
- workbook.SaveAs(Path.GetFullPath("Output/Output.xlsx"));
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Create(1);
- IWorksheet worksheet = workbook.Worksheets[0];
-
- //Apply cell color
- worksheet.Range["A1"].CellStyle.ColorIndex = ExcelKnownColors.Custom50;
-
- //Get the RGB values of the cell color
- Color color = worksheet.Range["A1"].CellStyle.Color;
- byte red = color.R;
- byte green = color.G;
- byte blue = color.B;
-
- //Print the RGB values
- Console.WriteLine($"Red: {red}, Green: {green}, Blue: {blue}");
-
- //Save the workbook
- workbook.SaveAs("Output.xlsx");
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
- Dim workbook As IWorkbook = application.Workbooks.Create(1)
- Dim worksheet As IWorksheet = workbook.Worksheets(0)
-
- 'Apply cell color
- worksheet.Range("A1").CellStyle.ColorIndex = ExcelKnownColors.Custom50
-
- 'Get the RGB values of the cell color
- Dim cellColor As Color = worksheet.Range("A1").CellStyle.Color
- Dim red As Byte = cellColor.R
- Dim green As Byte = cellColor.G
- Dim blue As Byte = cellColor.B
-
- 'Print the RGB values
- Console.WriteLine($"Red: {red}, Green: {green}, Blue: {blue}")
-
- 'Save the workbook
- workbook.SaveAs("Output.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-A complete working example to get RGB values of a cell's background color is available on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-resolve-the-cannot-open-Pivot-table-source-file-error.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-resolve-the-cannot-open-Pivot-table-source-file-error.md
deleted file mode 100644
index b4c9fae10..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-resolve-the-cannot-open-Pivot-table-source-file-error.md
+++ /dev/null
@@ -1,105 +0,0 @@
----
-title: Fix “Can't open PivotTable source file” error in XlsIO | Syncfusion
-description: This page explains how to resolve the "Can't open Pivottable source file" error using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# How to resolve the “Can't open Pivot table source file” error?
-
-Deleting the source worksheet and refreshing the PivotTable may work in the current session, but reopening the saved workbook and refreshing can trigger this error. If “Refresh data when opening the file” is enabled, Excel will not disable it automatically. This is Microsoft Excel behavior, and XlsIO follows the same behavior.
-
-**Recommendations:**
-
-* If you need to remove the worksheet that contains the PivotTable’s source data, hide the worksheet instead of deleting it.
-* If the source worksheet no longer exists, disable IsRefreshOnLoad before saving the workbook.
-
-The following code illustrate how to disable the IsRefreshOnLoad property.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open("Data/Sample.xlsx");
- IWorksheet pivotSheet = workbook.Worksheets[0];
-
- IPivotTable pivotTable = workbook.Worksheets[1].PivotTables[0];
- PivotTableImpl pivotTableImpl = pivotTable as PivotTableImpl;
-
- //Disable the refreshing option
- pivotTableImpl.Cache.IsRefreshOnLoad = false;
-
- #region Save
- //Saving the workbook
- workbook.SaveAs("Output/PivotTable.xlsx");
- #endregion
-}
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-using (ExcelEngine excelEngine = new ExcelEngine())
-{
- IApplication application = excelEngine.Excel;
- application.DefaultVersion = ExcelVersion.Xlsx;
- IWorkbook workbook = application.Workbooks.Open("Data/Sample.xlsx");
- IWorksheet pivotSheet = workbook.Worksheets[0];
-
- IPivotTable pivotTable = workbook.Worksheets[1].PivotTables[0];
- PivotTableImpl pivotTableImpl = pivotTable as PivotTableImpl;
-
- //Disable the refreshing option
- pivotTableImpl.Cache.IsRefreshOnLoad = false;
-
- #region Save
- //Saving the workbook
- workbook.SaveAs("Output/PivotTable.xlsx");
- #endregion
-}
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-Using excelEngine As New ExcelEngine()
- Dim application As IApplication = excelEngine.Excel
- application.DefaultVersion = ExcelVersion.Xlsx
-
- Dim workbook As IWorkbook = application.Workbooks.Open("../../Data/Sample.xlsx")
- Dim pivotSheet As IWorksheet = workbook.Worksheets(0)
- Dim pivotTable As IPivotTable = workbook.Worksheets(1).PivotTables(0)
- Dim pivotTableImpl As PivotTableImpl = TryCast(pivotTable, PivotTableImpl)
-
- ' Disable the refreshing option
- pivotTableImpl.Cache.IsRefreshOnLoad = False
-
- ' Save the workbook
- workbook.SaveAs("../../Output/PivotTable.xlsx")
-End Using
-{% endhighlight %}
-{% endtabs %}
-
-
-The following code shows how to hide Excel worksheet.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-//Hide the worksheet
-worksheet.Visibility = WorksheetVisibility.Hidden;
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-//Hide the worksheet
-worksheet.Visibility = WorksheetVisibility.Hidden;
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-'Hide the worksheet
-worksheet.Visibility = WorksheetVisibility.Hidden
-{% endhighlight %}
-{% endtabs %}
-
-## See Also
-
-* [Hide Excel Worksheets](https://help.syncfusion.com/document-processing/excel/excel-library/net/migrate-from-office-automation-to-syncfusion-xlsio/hide-excel-worksheets)
-* [Working with Pivot Tables](https://help.syncfusion.com/document-processing/excel/excel-library/net/working-with-pivot-tables)
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-the-first-item-in-a-list-as-the-default-selected-value-in-an-Excel-file.md b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-the-first-item-in-a-list-as-the-default-selected-value-in-an-Excel-file.md
new file mode 100644
index 000000000..a41254fd8
--- /dev/null
+++ b/Document-Processing/Excel/Excel-Library/NET/faqs/how-to-set-the-first-item-in-a-list-as-the-default-selected-value-in-an-Excel-file.md
@@ -0,0 +1,107 @@
+---
+title: Set Default List Item in Excel Data Validation | Syncfusion
+description: Learn to programmatically select the first item in an Excel data-validation list with Syncfusion’s .NET Excel library (XlsIO) using C# and VB.NET.
+platform: document-processing
+control: XlsIO
+documentation: UG
+---
+
+# How to set the first item in a list as the default value in an Excel?
+
+You can programmatically make the first item in a data-validation list the default selection in an Excel file by using Syncfusion XlsIO. The following examples in C# (cross-platform and Windows-specific) and VB.NET demonstrate the process.
+
+{% tabs %}
+{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/XlsIO-Examples/master/FAQ/List%20Validation/.NET/List%20Validation/List%20Validation/Program.cs,180" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ worksheet["A1"].Value = "ListItem1";
+ worksheet["A2"].Value = "ListItem2";
+ worksheet["A3"].Value = "ListItem3";
+ worksheet["A4"].Value = "ListItem4";
+
+ worksheet.Range["C1"].Text = "Data Validation List in C3";
+ worksheet.Range["C1"].AutofitColumns();
+
+ //Data validation for the list
+ IDataValidation listValidation = worksheet.Range["C3"].DataValidation;
+ listValidation.DataRange = worksheet.Range["A1:A4"];
+
+ //Set the first item in the list as default value
+ worksheet.Range["C3"].Value = worksheet.Range["C3"].DataValidation.DataRange.Cells[0].Value;
+
+
+ #region Save
+ //Saving the workbook
+ workbook.SaveAs("../../../Output/ListValidation.xlsx");
+ #endregion
+}
+{% endhighlight %}
+
+{% highlight c# tabtitle="C# [Windows-specific]" %}
+using (ExcelEngine excelEngine = new ExcelEngine())
+{
+ IApplication application = excelEngine.Excel;
+ application.DefaultVersion = ExcelVersion.Xlsx;
+ IWorkbook workbook = application.Workbooks.Create(1);
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ worksheet["A1"].Value = "ListItem1";
+ worksheet["A2"].Value = "ListItem2";
+ worksheet["A3"].Value = "ListItem3";
+ worksheet["A4"].Value = "ListItem4";
+
+ worksheet.Range["C1"].Text = "Data Validation List in C3";
+ worksheet.Range["C1"].AutofitColumns();
+
+ //Data validation for the list
+ IDataValidation listValidation = worksheet.Range["C3"].DataValidation;
+ listValidation.DataRange = worksheet.Range["A1:A4"];
+
+ //Set the first item in the list as default value
+ worksheet.Range["C3"].Value = worksheet.Range["C3"].DataValidation.DataRange.Cells[0].Value;
+
+
+ #region Save
+ //Saving the workbook
+ workbook.SaveAs("../../Output/ListValidation.xlsx");
+ #endregion
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+Using excelEngine As New ExcelEngine()
+ Dim application As IApplication = excelEngine.Excel
+ application.DefaultVersion = ExcelVersion.Xlsx
+
+ 'Create a workbook and access the first worksheet
+ Dim workbook As IWorkbook = application.Workbooks.Create(1)
+ Dim worksheet As IWorksheet = workbook.Worksheets(0)
+
+ 'Populate list items
+ worksheet("A1").Value = "ListItem1"
+ worksheet("A2").Value = "ListItem2"
+ worksheet("A3").Value = "ListItem3"
+ worksheet("A4").Value = "ListItem4"
+
+ 'Header for the validation cell
+ worksheet.Range("C1").Text = "Data Validation List in C3"
+ worksheet.Range("C1").AutofitColumns()
+
+ 'Create list‐type data validation for cell C3
+ Dim listValidation As IDataValidation = worksheet.Range("C3").DataValidation
+ listValidation.DataRange = worksheet.Range("A1:A4")
+
+ 'Set the first list item as the default value
+ worksheet.Range("C3").Value = listValidation.DataRange.Cells(0).Value
+
+ 'Save the workbook
+ workbook.SaveAs("../../Output/ListValidation.xlsx")
+End Using
+{% endhighlight %}
+{% endtabs %}
+A complete working example to set the first item in a list as the default selected value in an Excel File is available on this GitHub page.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/what-are-the-naming-rules-for-named-ranges-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/what-are-the-naming-rules-for-named-ranges-in-Excel.md
deleted file mode 100644
index c599c6a41..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/what-are-the-naming-rules-for-named-ranges-in-Excel.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: Naming rules for named ranges in Excel | Syncfusion
-description: Learn the naming conventions for Excel named ranges in XlsIO, including allowed characters, restrictions, and length limits.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# What are the naming rules for named ranges in Excel?
-
-When defining a named range in Excel, the following rules apply:
-
-* **Start character:** Must begin with a letter (A-Z/a-z), underscore (_), or backslash (\).
-
-* **Allowed characters:** Can include letters, numbers, underscores (_), and periods (.).
-
-* **Characters not allowed:** Spaces and most special characters (e.g., ! @ # $ % ^ & *) are not permitted.
-
-* **No cell references:** Names cannot resemble a valid cell reference (e.g., A1, R1C1).
-
-* **Length limit:** Maximum of 255 characters.
-
-* **Case sensitivity:** Names are case-insensitive.
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-maximum-text-length-for-hyperlink-screentip-in-excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-maximum-text-length-for-hyperlink-screentip-in-excel.md
deleted file mode 100644
index 27e9659ab..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-maximum-text-length-for-hyperlink-screentip-in-excel.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: Hyperlink ScreenTip text limit in Excel | Syncfusion
-description: This page explains the maximum supported text length for hyperlink ScreenTip text in Microsoft Excel and Syncfusion XlsIO.
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# What is the maximum text length for hyperlink ScreenTip in Excel?
-
-The maximum supported text length for hyperlink ScreenTip text in Excel is **255 characters**. Syncfusion XlsIO follows the same behavior when setting hyperlink ScreenTip text.
\ No newline at end of file
diff --git a/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-unit-of-row-height-and-column-width-in-Excel.md b/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-unit-of-row-height-and-column-width-in-Excel.md
deleted file mode 100644
index 4d9be2e15..000000000
--- a/Document-Processing/Excel/Excel-Library/NET/faqs/what-is-the-unit-of-row-height-and-column-width-in-Excel.md
+++ /dev/null
@@ -1,110 +0,0 @@
----
-title: Unit of row height and column width in Excel | Syncfusion
-description: This page explains about the default unit of measurement for row height and column width in Excel using Syncfusion .NET Excel library (XlsIO).
-platform: document-processing
-control: XlsIO
-documentation: UG
----
-
-# What is the unit of row height and column width in Excel?
-
-By default, XlsIO uses **points** as the unit of measurement for both row height and column width.
-
-Use SetColumnWidth
- and SetRowHeight to set dimensions in points.
-
-Use GetColumnWidth and GetRowHeight to retrieve dimensions in points.
-
-If you need pixel values, XlsIO provides pixel based APIs: GetColumnWidthInPixels, GetRowHeightInPixels, SetColumnWidthInPixels, SetRowHeightInPixels.
-
-{% tabs %}
-{% highlight c# tabtitle="C# [Cross-platform]" %}
-//Set column width in points
-sheet.SetColumnWidth(1, 20);
-
-//Get column width in points
-var widthPoints = sheet.GetColumnWidth(1);
-Console.WriteLine("Column width in points: " + widthPoints);
-
-//Set column width in pixels
-sheet.SetColumnWidthInPixels(1, 160);
-
-//Get column width in pixels
-var widthPixels = sheet.GetColumnWidthInPixels(1);
-Console.WriteLine("Column width in pixels: " + widthPixels);
-
-//Set row height in points
-sheet.SetRowHeight(1, 15);
-
-//Get row height in points
-var heightPoints = sheet.GetRowHeight(1);
-Console.WriteLine("Row height in points: " + heightPoints);
-
-//Set row height in pixels
-sheet.SetRowHeightInPixels(1, 40);
-
-//Get row height in pixels
-var heightPixels = sheet.GetRowHeightInPixels(1);
-Console.WriteLine("Row height in pixels: " + heightPixels);
-{% endhighlight %}
-
-{% highlight c# tabtitle="C# [Windows-specific]" %}
-//Set column width in points
-sheet.SetColumnWidth(1, 20);
-
-//Get column width in points
-var widthPoints = sheet.GetColumnWidth(1);
-Console.WriteLine("Column width in points: " + widthPoints);
-
-//Set column width in pixels
-sheet.SetColumnWidthInPixels(1, 160);
-
-//Get column width in pixels
-var widthPixels = sheet.GetColumnWidthInPixels(1);
-Console.WriteLine("Column width in pixels: " + widthPixels);
-
-//Set row height in points
-sheet.SetRowHeight(1, 15);
-
-//Get row height in points
-var heightPoints = sheet.GetRowHeight(1);
-Console.WriteLine("Row height in points: " + heightPoints);
-
-//Set row height in pixels
-sheet.SetRowHeightInPixels(1, 40);
-
-//Get row height in pixels
-var heightPixels = sheet.GetRowHeightInPixels(1);
-Console.WriteLine("Row height in pixels: " + heightPixels);
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-'Set column width in points
-sheet.SetColumnWidth(1, 20)
-
-'Get column width in points
-Dim widthPoints As Integer = sheet.GetColumnWidth(1)
-Console.WriteLine("Column width in points: " & widthPoints)
-
-'Set column width in pixels
-sheet.SetColumnWidthInPixels(1, 160)
-
-'Get column width in pixels
-Dim widthPixels As Integer = sheet.GetColumnWidthInPixels(1)
-Console.WriteLine("Column width in pixels: " & widthPixels)
-
-'Set row height in points
-sheet.SetRowHeight(1, 15)
-
-'Get row height in points
-Dim heightPoints As Integer = sheet.GetRowHeight(1)
-Console.WriteLine("Row height in points: " & heightPoints)
-
-'Set row height in pixels
-sheet.SetRowHeightInPixels(1, 40)
-
-'Get row height in pixels
-Dim heightPixels As Integer = sheet.GetRowHeightInPixels(1)
-Console.WriteLine("Row height in pixels: " & heightPixels)
-{% endhighlight %}
-{% endtabs %}
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/comment.md b/Document-Processing/Excel/Spreadsheet/Angular/comment.md
new file mode 100644
index 000000000..43f35f1b8
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/Angular/comment.md
@@ -0,0 +1,201 @@
+---
+layout: post
+title: Comment in Angular Spreadsheet component | Syncfusion
+description: Learn here all about Comment feature in Syncfusion Angular Spreadsheet component of Syncfusion Essential JS 2 and more.
+platform: document-processing
+control: Comment
+documentation: ug
+---
+
+# Comment in Angular Spreadsheet component
+The **Comment** feature allows you to add feedback to cells without changing their values, enabling contextual discussions through threaded **replies**. Unlike [Notes](./notes), Comment include advanced review tools such as **resolve** and **reopen** to track status, plus an optional **Comments Review Pane** for browsing and managing threads.
+
+Cells with comment display a small comment indicator; hover to preview the comment editor. This provides a clear, collaborative workflow while keeping data intact.
+
+
+
+## Author identity
+The Syncfusion Spreadsheet does not automatically track user identity. To tag new comments and replies with an author name, set the `author` property when initializing the Spreadsheet.
+
+```ts
+ import { Component } from '@angular/core';
+ import { SpreadsheetAllModule } from '@syncfusion/ej2-angular-spreadsheet';
+
+ @Component({
+ selector: 'app-root',
+ standalone: true,
+ imports: [SpreadsheetAllModule],
+ // Set the author name. If not set, "Guest User" will be shown by default..
+ template: ``
+ })
+ export class AppComponent {
+ // Place the Author Name Here
+ public author: string = 'Author Name';
+ }
+```
+>If the author property is not set, "Guest User" will be displayed as the author for comment and replies by default.
+
+## Adding a comment
+You can add a **comment** to a cell in several ways:
+* **Context menu**: Right-click the target cell and select **"New Comment"**.
+* **Ribbon**: Go to **Review > Comment > New Comment**.
+* **Keyboard shortcut**: Press Ctrl + Shift + F2 to open the comment editor for the active cell.
+* **Programmatically**:
+ * Use the `updateCell` method with the comment model to add a comment to a specific cell.
+ * Bind comments via code-behind during initial load by associating the comment model with the cell model.
+
+The image below shows that once a comment is posted, the cell displays an indicator, and the comment can be previewed on hover.
+
+
+
+## Adding a reply
+You can add one or more replies to an existing comment to provide additional details or answers:
+* **Context menu**: Right-click the cell that already has a comment, select **Comment > New Reply**, enter your reply, and click **Post**.
+* **Ribbon**: Go to **Review > Comment > New Comment** on a cell that contains a comment. This opens the comment editor in **reply mode**.
+* **Comment editor**: Open the comment editor by hovering over the comment indicator, type your reply, and click **Post**.
+* **Keyboard shortcut**: Press Ctrl + Shift + F2 on a cell that contains a comment to open the comment editor in reply mode.
+
+After posting, the replies appear under the first comment in the comment editor.
+
+
+
+## Editing a comment
+You can edit the content of a comment or its replies directly within the comment editor.
+
+* **Edit first comment**: In the comment editor. Click the **"⋯" (More thread actions)** menu in the header, select the **Edit Comment**, modify the text and click **Post**.
+* **Edit a reply comment**: In the comment editor, hover over the specific reply, click the **"⋯" (More actions)**, select the **Edit Comment**, modify the text and click **Post**.
+
+
+
+## Resolve and Reopen
+The **Resolve thread** option marks a comment thread as completed when the discussion or issue is addressed. When a thread is resolved, its background color changes to indicate the resolved state, and the reply input box and reply menu actions are hidden. Use **Reopen** to restore the comment if further discussion is needed.
+
+### Resolve a comment
+* In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Resolve Thread**.
+
+### Reopen a comment
+* In the comment editor, click the **Reopen** button in the header to make the thread active again.
+
+
+
+You can also use the `isResolved` property in the comment model when initializing or updating comments programmatically.
+
+**Example: Using `isResolved` property in the comment model with the `updateCell` method**
+
+```ts
+// Update a cell with a comment using the updateCell method
+ this.spreadsheetObj.updateCell({
+ comment: {
+ author: 'Chistoper', text: 'Are you completed the report',
+ createdTime: 'January 03, 2026 at 5:00 PM',
+ // Set to true to mark the thread as resolved; false keeps it active
+ isResolved: false,
+ replies: [{ author: 'John', text: 'Yes, completed',
+ createdTime: 'January 03, 2026 at 7:00 PM' }]
+ }
+ }, 'Sheet1!D5');
+```
+
+## Deleting a comment or reply
+You can delete either a specific reply or an entire comment thread (including all replies) using the following options:
+
+### Deleting a comment thread
+* **Context menu**: Right-click the cell that contains the comment and select **Comment > Delete Comment**.
+* **Ribbon**: Go to **Review > Comment > Delete Comment** on a cell that contains the comment.
+* **Comment editor**: In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Delete Thread** for an active comment or use the **Delete Thread** button in header for a resolved comment.
+
+Deleting a thread removes the comment and all its replies from the cell.
+
+
+
+### Delete a reply
+In the comment editor, hover over the reply and click the **"⋯" (More actions)** menu then select **Delete Comment**.
+
+
+
+## Next and Previous Comment
+The **Review > Comment > Next Comment and Previous Comment** options in the ribbon allow you to quickly navigate between cells that contain comments:
+
+* **Next Comment**: Moves to the next cell with a comment.
+* **Previous Comment**: Moves to the previous cell with a comment.
+
+Navigation starts within the active sheet. When all comments in the active sheet have been visited (end or start reached), the navigation automatically continues to the next or previous sheet that contains comments. This ensures you can review all comments across the workbook without manually switching sheets.
+
+
+
+## Comments review pane
+The **"Comments" review pane** provides a centralized view of all comments in the active sheet, making it easier to manage discussions without switching between individual cells. It offers filtering, inline actions, and navigation, ensuring an efficient review workflow across the workbook.
+
+You can show or hide the "Comments" review pane using:
+
+* **Ribbon**: Go to **Review > Comment > Show Comments**.
+* **Property**: Set the `showCommentsPane` property to true when initializing the Spreadsheet. By default, this property is **false**.
+
+
+
+### Features of the comments review pane
+The "Comments" review pane is rendered within the spreadsheet interface to provide a dedicated space for managing comments efficiently. It acts as a centralized hub where you can view all comment threads, perform actions, and keep discussions organized without navigating cell by cell.
+
+The "Comments" review pane allows you to:
+
+* Add new comment using the **New** button.
+* Filter comments by **All**, **Active**, or **Resolved** to view specific comment threads.
+* Navigate between comments and synchronize selection with the corresponding cells.
+* Perform actions such as:
+ * **Reply** – Add replies directly from the review pane.
+ * **Edit** – Modify the text of a comment or reply.
+ * **Delete** – Remove a reply or an entire thread.
+ * **Resolve/Reopen** – Change the status of a comment.
+
+When the review pane is open, all actions performed in the review pane or in the cell’s comment editor are synchronized:
+
+* Selecting a comment in the review pane highlights the corresponding cell in the sheet.
+* Selecting a cell with a comment focuses the respective comment thread in the review pane.
+* Actions such as **Reply**, **Edit**, **Delete**, and **Resolve/Reopen** update both the pane and the cell comment editor instantly, ensuring consistency across the UI.
+* The review pane dynamically updates when comments are added, deleted, or resolved, so you always see the latest state without refreshing.
+
+## Saving a Workbook with Comments
+You can save spreadsheet data along with **comments** using **File > Save As > Microsoft Excel(.xlsx)**.
+- **MS Excel (.xlsx)** - Preserves all **threaded comments** (modern comments).
+
+> Comments are **not included** when exporting to **.xls**, **.csv**, and **.pdf**.
+
+### Why comments are not saved in `.xls`
+The **.xls** format is based on the older Excel binary structure (BIFF8), which does not support modern features like **threaded comments**.
+Threaded comments introduced in newer Excel versions require the **Open XML** structure used by `.xlsx`.
+
+> To retain threaded comments, always save the workbook in **.xlsx** format.
+
+## Bind Comments via code-behind
+You can bind **comment thread** to cells at initial load by providing a `comment` object in the cell model. Each cell supports **per comment thread**, which can include:
+- **Comment**: `author`, `text`, `createdTime`, `isResolved`
+- **Replies**: A collection of replies. Each reply is an object containing its `author`, `text`, and `createdTime` (no nested replies-of-replies).
+
+In the below sample, comments are added to a specific cell using cell data binding. The "Comments" review pane is shown initially by enabling the `showCommentsPane` property, and comments are added using `updateCell` method in the `created` event.
+
+{% tabs %}
+{% highlight ts tabtitle="app.component.ts" %}
+{% include code-snippet/spreadsheet/angular/comment-cs1/src/app.component.ts %}
+{% endhighlight %}
+
+{% highlight ts tabtitle="main.ts" %}
+{% include code-snippet/spreadsheet/angular/comment-cs1/src/main.ts %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/samples/spreadsheet/angular/comment-cs1" %}
+
+### Important Notes
+* **One thread per cell**: Attach a single `comment` object per cell. New remarks should be added as replies inside the existing thread.
+* **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.
+
+## See Also
+* [Notes](./notes)
+* [Hyperlink](./link)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_adding_a_comment.gif b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_adding_a_comment.gif
new file mode 100644
index 000000000..863da7a34
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_adding_a_comment.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment.png
new file mode 100644
index 000000000..b002a6db3
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment_reply.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment_reply.png
new file mode 100644
index 000000000..548694016
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_comment_reply.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete-reply_comment.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete-reply_comment.png
new file mode 100644
index 000000000..f2385a4f9
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete-reply_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete_comment.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete_comment.png
new file mode 100644
index 000000000..0c0ff11f1
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_delete_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_edit_comment.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_edit_comment.png
new file mode 100644
index 000000000..2874b11cb
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_edit_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_next_previous_comment.png b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_next_previous_comment.png
new file mode 100644
index 000000000..ece81c396
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_next_previous_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_resolve_reopen.gif b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_resolve_reopen.gif
new file mode 100644
index 000000000..1307efbbb
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_resolve_reopen.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_show_comments.gif b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_show_comments.gif
new file mode 100644
index 000000000..d033c0c9a
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Angular/images/spreadsheet_show_comments.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/keyboard-shortcuts.md b/Document-Processing/Excel/Spreadsheet/Angular/keyboard-shortcuts.md
index 01142c092..77f82da3e 100644
--- a/Document-Processing/Excel/Spreadsheet/Angular/keyboard-shortcuts.md
+++ b/Document-Processing/Excel/Spreadsheet/Angular/keyboard-shortcuts.md
@@ -107,6 +107,7 @@ The keyboard shortcuts supported in the spreadsheet are,
| Shift + Enter | Complete the cell editing and select the cell above in the same column. |
| Tab | Complete the cell editing and select the next cell in the same row. |
| Shift + Tab | Complete the cell editing and select the previous cell in the same row. |
+| Ctrl + Shift + F2 | Opens the comment editor for the active cell. Upon pressing the `Esc` key, the comment editor in focus will close. |
| Shift + F2 | Open the dialog box to add or edit notes for the desired cells. Meanwhile, upon pressing the `Esc` key, the dialog box for notes, when in focus, will save and close. |
| Alt | Focus on the active ribbon tab. |
| Left | Move the focus to the previous items in the ribbon content. |
diff --git a/Document-Processing/Excel/Spreadsheet/Angular/notes.md b/Document-Processing/Excel/Spreadsheet/Angular/notes.md
index b4e41103b..fd9b548cf 100644
--- a/Document-Processing/Excel/Spreadsheet/Angular/notes.md
+++ b/Document-Processing/Excel/Spreadsheet/Angular/notes.md
@@ -9,7 +9,7 @@ documentation: ug
# Notes in Angular Spreadsheet component
-The **Notes** feature is used to insert comments, provide feedback, suggest changes, or leave remarks on specific cells while reviewing documents in the Spreadsheet. You can enable or disable the notes functionality using the [`enableNotes`](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/#enablenotes) property, which defaults to **true**.
+The **Notes** feature is used to insert comments, provide feedback, suggest changes, or leave remarks on specific cells while reviewing documents in the Spreadsheet. You can enable or disable the notes functionality using the [enableNotes](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/index-default#enablenotes) property, which defaults to **true**.
When opening the Excel document with notes in the Spreadsheet, they will be displayed in the control. The cells containing notes will be indicated with a red colored triangle at the top-right corner. Hovering the mouse over these cells will display the content of the notes.
@@ -33,38 +33,103 @@ In the below example, you can add, edit, save, and delete notes.
In the active worksheet, you can add a note in the following ways:
-* To add a note, right-click the cell to open the context menu and choose the **"Add Note"** option from the context menu. This will open a dialog box to add the content as a note.
-* You can also use the `Shift` + `F2` keyboard shortcut to add a note to the desired cell. A dialog box will be opened to add the content as a note.
-* After entering the content in the dialog box, you can either click on other cells or press the `Esc` button on the keyboard to automatically save the note in the cell and close the dialog box.
+* **Context Menu**: Right-click the desired cell and select **Add Note**.
+* **Ribbon**: Select the cell, navigate to the **Review** tab, click the **Notes** dropdown, and select **Add Note**.
+* **Keyboard Shortcut**: Select the cell and press Shift + F2.
+* **Programmatically**:
+ * Use the `updateCell` method with the note model to add a note to a specific cell.
+ * Bind notes via code-behind during initial load by associating the note model with the cell model.
+
+A dialog box will open where you can enter the note content. After entering the content, you can either click on other cells or press the Esc button to automatically save the note and close the dialog box.

## Editing a note
-In the active worksheet, you can modify the content of existing notes in the document.
+In the active worksheet, you can modify the content of existing notes in the document:
+
+* **Context Menu**: Right-click the cell containing the note and select **Edit Note**.
+* **Ribbon**: Select the cell containing the note, navigate to the **Review** tab, click the **Notes** dropdown, and select **Edit Note**.
+* **Keyboard Shortcut**: Select the cell containing the note and press Shift + F2.
-* To edit a note, right-click on the desired cell containing the note, which will open the context menu.
-* Select the **"Edit Note"** option from the context menu.
-* You can also use the `Shift` + `F2` keyboard shortcut to edit the note of the desired cell. A dialog box will be opened to edit the note.
-* After editing the content in the dialog box, you can either click on other cells or press the `Esc` button on the keyboard to automatically save the note in the cell and close the dialog box.
+The note editor dialog box will open with the existing content. After editing the content, you can either click on other cells or press the Esc button to automatically save the changes and close the dialog box.

## Deleting a note
-In the active worksheet, right-click on the desired cell containing the note that you want to remove, which opens the context menu. In the context menu, select the **"Delete Note"** option to delete the note.
+You can remove notes from cells using the following ways:
+
+* **Context Menu**: Right-click the cell containing the note and select **Delete Note**.
+* **Ribbon**: Select the cell containing the note, navigate to the **Review** tab, click the **Notes** dropdown, and select **Delete Note**.
+
+The note will be removed from the cell, and the red triangle indicator will be removed.

+## Navigating between notes
+
+The Syncfusion Spreadsheet provides intuitive navigation to quickly move between cells containing notes in your worksheet. These options are accessible through the **Notes** dropdown in the **Review** tab.
+
+### Previous Note
+
+To navigate to the previous note:
+
+* In the **Review** tab, open the **Notes** dropdown and select **Previous Note**.
+* The Spreadsheet will automatically select the previous note in the current worksheet, searching leftward and then upward.
+* If no prior note exists in the sheet, the search continues to the previous worksheet in order.
+* If the workbook contains no notes, the selection remains on the current cell.
+
+### Next Note
+
+To navigate to the next note:
+
+* In the **Review** tab, open the **Notes** dropdown and select **Next Note**.
+* The Spreadsheet will automatically select the next note in the current worksheet, searching rightward and then downward.
+* If no subsequent note exists in the sheet, the search continues to the next worksheet in order.
+* If the workbook contains no notes, the selection remains on the current cell.
+
+This functionality streamlines the process of reviewing notes across worksheets, ensuring efficient traversal and discovery.
+
+## Show/Hide Note
+
+The **Show/Hide Note** option allows you to toggle the visibility of individual notes as sticky notes within the worksheet. When enabled, the note appears as a persistent floating text box, making it convenient to reference key information without hovering over the cell.
+
+To toggle the visibility of a note:
+
+* **Context Menu**: Right-click the cell containing the note and select **Show/Hide Note**.
+* **Ribbon**: Select the cell, go to the **Review** tab, click the **Notes** dropdown, and choose **Show/Hide Note**.
+
+**Behavior:**
+
+* **Default State (Hidden)**: Notes are hidden by default and only appear when hovering over the cell, which displays a red triangle indicator.
+* **Sticky State (Visible)**: Toggling Show/Hide Note on a hidden note makes it visible as a sticky note, which remains on display even when navigating to other cells or selections.
+* **Toggle Functionality**: Selecting Show/Hide Note again on a visible note hides it, reverting to the default state.
+* **Independent Control**: Each note can be toggled individually, allowing you to display only the most relevant notes for your current task.
+
+## Show All Notes
+
+The **Show All Notes** option enables you to display all notes in the current worksheet simultaneously as sticky notes, simplifying the review of multiple comments at a glance.
+
+To activate:
+
+* Navigate to the **Review** tab, click the **Notes** dropdown, and select **Show All Notes**.
+
+All notes in the worksheet will appear as floating text boxes near their respective cells.
+
+> **Note**: After using Show All Notes, you can hide individual notes selectively via the **Show/Hide Note** option. Additionally, any new notes added to the worksheet will automatically appear as visible sticky notes when Show All Notes is active.
+
+This functionality enhances workflow efficiency by providing flexible control over note visibility, whether for individual focus or comprehensive review.
+
## Saving the document with notes
-The Spreadsheet data, including notes, can be saved and exported as an Excel document by selecting **File > Save As** in the ribbon menu. Exporting worksheets with notes is supported in Excel file formats such as MS Excel (.xlsx) and MS Excel 97-2003 (.xls).
+The Spreadsheet data, including notes, can be saved and exported as an Excel document by selecting **File > Save As** in the ribbon menu. Exporting worksheets with notes is supported in Excel file formats such as Microsoft Excel (.xlsx) and Microsoft Excel 97-2003 (.xls).
> When exporting the Spreadsheet to file formats such as Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf), the notes will not be available.
## Disabling notes
-To disable the note functionality, you need to set the [`enableNotes`](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/#enablenotes) property to **false**. After disabling, the notes in the document will not be shown when opened in the Spreadsheet. The **"Add Note"** option will not be shown in the context menu. The keyboard shortcuts for the note functionality will not work.
+To disable the note functionality, you need to set the [enableNotes](https://ej2.syncfusion.com/angular/documentation/api/spreadsheet/index-default#enablenotes) property to **false**. After disabling, the notes in the document will not be shown when opened in the Spreadsheet. The **"Add Note"** option will not be shown in the context menu. The keyboard shortcuts for the note functionality will not work.

@@ -86,6 +151,8 @@ In the below example, the note functionality is disabled in the Spreadsheet.
The notes can be added initially when the Spreadsheet loads using cell data binding. You need to use the `notes` property in the cell settings to add notes to the Spreadsheet.
+In the below example, you can navigate between notes using **Previous Note** and **Next Note** options, toggle individual note visibility with **Show/Hide Note**, display all notes at once using **Show All Notes** and see how notes are added using the `updateCell` method in the `created` event.
+
{% tabs %}
{% highlight ts tabtitle="app.component.ts" %}
{% include code-snippet/spreadsheet/angular/note-cs3/src/app.component.ts %}
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/cell-range.md b/Document-Processing/Excel/Spreadsheet/Blazor/cell-range.md
index 5eaaad9c8..d5ed784be 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/cell-range.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/cell-range.md
@@ -25,6 +25,35 @@ Autofill can be performed in one of the following ways:
* Drag and drop the cell using the fill handle element.
* Use the [AutofillAsync()](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_AutofillAsync_System_String_System_String_) method programmatically.
+### Autofill options
+
+Autofill supports multiple behaviors that control how adjacent cells are populated when using the fill handle. The available options are:
+
+- Copy Cells
+- Fill Series
+- Fill Formatting Only
+- Fill Without Formatting
+
+#### Copy Cells
+
+Copies the source cell content and formatting to the selected destination range. After dragging the fill handle from the selection to the target area, choose **Copy Cells** from the **AutoFillOption** menu to replicate both values and presentation. When the source contains formulas, relative references are adjusted to match the destination.
+
+#### Fill Series
+
+Extends a recognizable pattern—such as numbers (1, 2, 3), days or months (Mon, Tue; Jan, Feb), or dates—into the destination range while preserving the source formatting. Drag the fill handle to the target cells and choose **Fill Series** in the **AutoFillOptions** menu to continue the detected sequence.
+
+#### Fill Formatting Only
+
+Applies only the source styling—number format, font, fill color, borders, and alignment—to the destination range, leaving existing values unchanged. Drag the fill handle over the target cells and select **Fill Formatting Only** from the **AutoFillOptions** menu to unify appearance without altering data.
+
+#### Fill Without Formatting
+
+Continues the detected series into the destination range but retains the destination’s existing formatting. After dragging the fill handle, choose **Fill Without Formatting** from the **AutoFillOptions** menu to apply only the new values while keeping the target style intact.
+
+The following illustration demonstrates the use of autofill in the Spreadsheet component.
+
+
+
The `AutofillAsync()` method accepts string parameters in A1 notation for `fillRange` and `dataRange`. The available parameters are:
| Parameter | Type | Description |
@@ -65,10 +94,6 @@ The `AutofillAsync()` method accepts string parameters in A1 notation for `fillR
{% endhighlight %}
{% endtabs %}
-The following illustration demonstrates the use of autofill in the Spreadsheet component.
-
-
-
## Events
The Blazor Spreadsheet provides events that are triggered during autofill operations, such as [AutofillActionBegin](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.AutofillActionBeginEventArgs.html) and [AutofillActionEnd](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.AutofillActionEndEventArgs.html). These events enable the execution of custom actions before and after an autofill operation, allowing for validation, customization, and response handling.
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/formatting.md b/Document-Processing/Excel/Spreadsheet/Blazor/formatting.md
index 7d5c00ecc..85ba0191b 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/formatting.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/formatting.md
@@ -90,7 +90,7 @@ Number formats can be applied programmatically to the current selection or a spe
{% endhighlight %}
{% endtabs %}
-> If the built-in formats do not meet specific requirements, custom patterns can be applied programmatically using the `NumberFormatAsync` method. Patterns must be compatible with Excel-style format strings.
+N> If the built-in formats do not meet specific requirements, custom patterns can be applied programmatically using the `NumberFormatAsync` method. Patterns must be compatible with Excel-style format strings.
## Text and Cell Formatting
@@ -178,7 +178,7 @@ Borders can be applied through the UI using the following method:
### Applying Borders Programmatically
-Borders can be applied programmatically to a specific cell or range of cells using the [SetBordersAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_SetBordersAsync_Syncfusion_Blazor_Spreadsheet_BorderType_Syncfusion_XlsIO_ExcelLineStyle_System_String_System_String) method. The available parameters in the `SetBordersAsync` method are:
+Borders can be applied programmatically to a specific cell or range of cells using the [SetBordersAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_SetBordersAsync_Syncfusion_Blazor_Spreadsheet_BorderType_Syncfusion_XlsIO_ExcelLineStyle_System_String_System_String_) method. The available parameters in the `SetBordersAsync` method are:
| Parameter | Type | Description |
| -- | -- | -- |
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/images/autofill.gif b/Document-Processing/Excel/Spreadsheet/Blazor/images/autofill.gif
index 19637ebf1..c4b929e26 100644
Binary files a/Document-Processing/Excel/Spreadsheet/Blazor/images/autofill.gif and b/Document-Processing/Excel/Spreadsheet/Blazor/images/autofill.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/merge-cell.md b/Document-Processing/Excel/Spreadsheet/Blazor/merge-cell.md
index 0653c50d8..953dd30a2 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/merge-cell.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/merge-cell.md
@@ -47,11 +47,11 @@ N> Clicking the **Merge Cells** button (not the drop-down) applies the default a
### Merge cells programmatically
-The [MergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_MergeAsync_System_String_System_String_) method merges cells based on the specified merge type. If the **cellRange** parameter is not provided, the current selection is used. This method provides a programmatic way to merge cells without using the UI. The available parameters in the `MergeAsync` method are:
+The [MergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_MergeAsync_Syncfusion_Blazor_Spreadsheet_MergeType_System_String_) method merges cells based on the specified merge type. If the **cellRange** parameter is not provided, the current selection is used. This method provides a programmatic way to merge cells without using the UI. The available parameters in the `MergeAsync` method are:
| Parameter | Type | Description |
| -- | -- | -- |
-| mergeType | **MergeType** | Specifies the merge behavior.
the Default MergeType is `MergeType.Cells`. Supported values: - `Cells` - Merge the entire selection into one cell and preserve the top-left value; - `Center` - Merge the entire selection and horizontally center the resulting cell’s content; - `Across` - For each row in the selection, merge the cells across columns and preserve each row’s first cell value. |
+| mergeType | **MergeType** | Specifies the merge behavior.
The default **MergeType** is `MergeType.Cells`. Supported values: • `Cells` - Merge the entire selection into one cell and preserve the top-left value; • `Center`- Merge the entire selection and horizontally center the resulting cell’s content; • `Across` - For each row in the selection, merge the cells across columns and preserve each row’s first cell value. |
| cellRange | string (optional) | Specifies the A1-style address of the range to unmerge (e.g., `"A1:D1"`). If not provided, the currently selected range will be unmerged. |
{% tabs %}
@@ -112,7 +112,7 @@ The [MergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreads
### Unmerge cells programmatically.
-The [UnmergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_UnmergeAsync_System_String_System_String_) method reverses a merge and restores individual cells. If the **cellRange** parameter is not provided, the current selection cell is unmerged. This method provides a programmatic way to unmerge cells without using the UI. The available parameters in the `UnmergeAsync` method are:
+The [UnmergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_UnmergeAsync_System_String_) method reverses a merge and restores individual cells. If the **cellRange** parameter is not provided, the current selection cell is unmerged. This method provides a programmatic way to unmerge cells without using the UI. The available parameters in the `UnmergeAsync` method are:
| Parameter | Type | Description |
| -- | -- | -- |
@@ -149,7 +149,7 @@ The [UnmergeAsync](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Sprea
{% endhighlight %}
{% endtabs %}
-### Limitations of Merge
+## Limitations of Merge
When merging cells in the Blazor Spreadsheet, certain constraints apply to ensure data integrity. In these cases, validation messages are displayed:
diff --git a/Document-Processing/Excel/Spreadsheet/Blazor/worksheet.md b/Document-Processing/Excel/Spreadsheet/Blazor/worksheet.md
index 9b444dc2b..cc92a26d9 100644
--- a/Document-Processing/Excel/Spreadsheet/Blazor/worksheet.md
+++ b/Document-Processing/Excel/Spreadsheet/Blazor/worksheet.md
@@ -71,6 +71,83 @@ This method inserts one or more sheets at a specified position in the workbook w
{% endhighlight %}
{% endtabs %}
+
+### Get Active Worksheet Programmatically
+
+The [GetActiveWorksheet](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_GetActiveWorksheet) method retrieves properties of the active worksheet. This method is useful when it is necessary to obtain details about the currently active sheet. If no worksheet is active, this method returns null.
+
+**Retrieve the active worksheet**
+
+This method retrieves details of the currently active worksheet. Properties of the active worksheet, such as sheet name, index, or selected range, can be accessed for diagnostics, automation, or integration with other logic.
+
+{% tabs %}
+{% highlight razor %}
+@using Syncfusion.Blazor.Spreadsheet
+
+
+
+
+
+
+@code {
+ public byte[] DataSourceBytes { get; set; }
+ public SfSpreadsheet SpreadsheetInstance;
+
+ protected override void OnInitialized()
+ {
+ string filePath = "wwwroot/Sample.xlsx";
+ DataSourceBytes = File.ReadAllBytes(filePath);
+ }
+
+ public async Task GetActiveWorksheet()
+ {
+ // Get the active sheet snapshot
+ var active = SpreadsheetInstance.GetActiveWorksheet();
+ }
+}
+{% endhighlight %}
+{% endtabs %}
+
+### Get Worksheet Data Programmatically
+
+The [GetData](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Spreadsheet.SfSpreadsheet.html#Syncfusion_Blazor_Spreadsheet_SfSpreadsheet_GetData_System_String_) method retrieves content from the worksheet. This method provides data as a dictionary, where each entry consists of a cell address and its associated `CellData` object. The returned data includes the actual value, number format, display text, wrap and lock status, hyperlinks, and calculated style of each cell in the target area. If the specified cell address is invalid or not set, the method returns null.
+
+**Retrieve cell or range data from an active worksheet**
+
+Call this method by passing the desired cell or range as the address. For example, provide a reference such as "A1" for a single cell, "A2:B5" for a range, or "Sheet1!A2:B5" to target a range on a specific sheet. The result can be iterated to read individual cell data for further processing, logging, or custom display.
+
+| Parameter | Type | Description |
+| :-- | :-- | :-- |
+| cellAddress | string | Specifies the cell or range to read. Supports addresses such as "A1", "A2:B5", or "Sheet1!A2:B5". If omitted or invalid, the return value is null. |
+
+{% tabs %}
+{% highlight razor %}
+@using Syncfusion.Blazor.Spreadsheet
+
+
+
+
+
+
+@code {
+ public byte[] DataSourceBytes { get; set; }
+ public SfSpreadsheet SpreadsheetInstance;
+
+ protected override void OnInitialized()
+ {
+ string filePath = "wwwroot/Sample.xlsx";
+ DataSourceBytes = File.ReadAllBytes(filePath);
+ }
+
+ public async Task GetData()
+ {
+ // Get the cellData snapshot
+ var data = SpreadsheetInstance.GetData("Sheet2!D5:E6");
+ }
+}
+{% endhighlight %}
+{% endtabs %}
+
**Insert a single sheet with a user-defined name**
This method adds one sheet at a specific position with a user-defined name. Each call to this method adds only one sheet. Using meaningful names like "Budget" or "Inventory" makes the workbook easier to understand. If a negative index value is provided, the method will exit without adding any sheet.
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/comment.md b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/comment.md
new file mode 100644
index 000000000..d5d264e9b
--- /dev/null
+++ b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/comment.md
@@ -0,0 +1,195 @@
+---
+layout: post
+title: Comment in EJ2 TypeScript Spreadsheet control | Syncfusion
+description: Learn here all about Comment feature in Syncfusion EJ2 TypeScript Spreadsheet control of Syncfusion Essential JS 2 and more.
+platform: document-processing
+control: Comment
+documentation: ug
+---
+
+# Comment in EJ2 TypeScript Spreadsheet control
+The **Comment** feature allows you to add feedback to cells without changing their values, enabling contextual discussions through threaded **replies**. Unlike [Notes](./notes), Comment include advanced review tools such as **resolve** and **reopen** to track status, plus an optional **Comments Review Pane** for browsing and managing threads.
+
+Cells with comment display a small comment indicator; hover to preview the comment editor. This provides a clear, collaborative workflow while keeping data intact.
+
+
+
+## Author identity
+The Syncfusion Spreadsheet does not automatically track user identity. To tag new comments and replies with an author name, set the `author` property when initializing the Spreadsheet.
+
+```ts
+ import { Spreadsheet } from '@syncfusion/ej2-spreadsheet';
+ // Initialize Spreadsheet component
+ const spreadsheet: Spreadsheet = new Spreadsheet(
+ // Set the author name, If not set, "Guest User" will be shown as the author by default.
+ author: 'Place the Author Name Here'
+ );
+ // Render initialized Spreadsheet
+ spreadsheet.appendTo('#element');
+```
+>If the author property is not set, "Guest User" will be displayed as the author for comment and replies by default.
+
+## Adding a comment
+You can add a **comment** to a cell in several ways:
+* **Context menu**: Right-click the target cell and select **"New Comment"**.
+* **Ribbon**: Go to **Review > Comment > New Comment**.
+* **Keyboard shortcut**: Press Ctrl + Shift + F2 to open the comment editor for the active cell.
+* **Programmatically**:
+ * Use the `updateCell` method with the comment model to add a comment to a specific cell.
+ * Bind comments via code-behind during initial load by associating the comment model with the cell model.
+
+The image below shows that once a comment is posted, the cell displays an indicator, and the comment can be previewed on hover.
+
+
+
+## Adding a reply
+You can add one or more replies to an existing comment to provide additional details or answers:
+* **Context menu**: Right-click the cell that already has a comment, select **Comment > New Reply**, enter your reply, and click **Post**.
+* **Ribbon**: Go to **Review > Comment > New Comment** on a cell that contains a comment. This opens the comment editor in **reply mode**.
+* **Comment editor**: Open the comment editor by hovering over the comment indicator, type your reply, and click **Post**.
+* **Keyboard shortcut**: Press Ctrl + Shift + F2 on a cell that contains a comment to open the comment editor in reply mode.
+
+After posting, the replies appear under the first comment in the comment editor.
+
+
+
+## Editing a comment
+You can edit the content of a comment or its replies directly within the comment editor.
+
+* **Edit first comment**: In the comment editor. Click the **"⋯" (More thread actions)** menu in the header, select the **Edit Comment**, modify the text and click **Post**.
+* **Edit a reply comment**: In the comment editor, hover over the specific reply, click the **"⋯" (More actions)**, select the **Edit Comment**, modify the text and click **Post**.
+
+
+
+## Resolve and Reopen
+The **Resolve thread** option marks a comment thread as completed when the discussion or issue is addressed. When a thread is resolved, its background color changes to indicate the resolved state, and the reply input box and reply menu actions are hidden. Use **Reopen** to restore the comment if further discussion is needed.
+
+### Resolve a comment
+* In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Resolve Thread**.
+
+### Reopen a comment
+* In the comment editor, click the **Reopen** button in the header to make the thread active again.
+
+
+
+You can also use the `isResolved` property in the comment model when initializing or updating comments programmatically.
+
+**Example: Using `isResolved` property in the comment model with the `updateCell` method**
+
+```ts
+// Update a cell with a comment using the updateCell method
+ spreadsheet.updateCell({
+ comment: {
+ author: 'Chistoper', text: 'Are you completed the report',
+ createdTime: 'January 03, 2026 at 5:00 PM',
+ // Set to true to mark the thread as resolved; false keeps it active
+ isResolved: false,
+ replies: [{ author: 'John', text: 'Yes, completed',
+ createdTime: 'January 03, 2026 at 7:00 PM' }]
+ }
+ }, 'Sheet1!D5');
+
+```
+
+## Deleting a comment or reply
+You can delete either a specific reply or an entire comment thread (including all replies) using the following options:
+
+### Deleting a comment thread
+* **Context menu**: Right-click the cell that contains the comment and select **Comment > Delete Comment**.
+* **Ribbon**: Go to **Review > Comment > Delete Comment** on a cell that contains the comment.
+* **Comment editor**: In the comment editor, click the **"⋯" (More thread actions)** menu in the header and select **Delete Thread** for an active comment or use the **Delete Thread** button in header for a resolved comment.
+
+Deleting a thread removes the comment and all its replies from the cell.
+
+
+
+### Delete a reply
+In the comment editor, hover over the reply and click the **"⋯" (More actions)** menu then select **Delete Comment**.
+
+
+
+## Next and Previous Comment
+The **Review > Comment > Next Comment and Previous Comment** options in the ribbon allow you to quickly navigate between cells that contain comments:
+
+* **Next Comment**: Moves to the next cell with a comment.
+* **Previous Comment**: Moves to the previous cell with a comment.
+
+Navigation starts within the active sheet. When all comments in the active sheet have been visited (end or start reached), the navigation automatically continues to the next or previous sheet that contains comments. This ensures you can review all comments across the workbook without manually switching sheets.
+
+
+
+## Comments review pane
+The **"Comments" review pane** provides a centralized view of all comments in the active sheet, making it easier to manage discussions without switching between individual cells. It offers filtering, inline actions, and navigation, ensuring an efficient review workflow across the workbook.
+
+You can show or hide the "Comments" review pane using:
+
+* **Ribbon**: Go to **Review > Comment > Show Comments**.
+* **Property**: Set the `showCommentsPane` property to true when initializing the Spreadsheet. By default, this property is **false**.
+
+
+
+### Features of the comments review pane
+The "Comments" review pane is rendered within the spreadsheet interface to provide a dedicated space for managing comments efficiently. It acts as a centralized hub where you can view all comment threads, perform actions, and keep discussions organized without navigating cell by cell.
+
+The "Comments" review pane allows you to:
+
+* Add new comment using the **New** button.
+* Filter comments by **All**, **Active**, or **Resolved** to view specific comment threads.
+* Navigate between comments and synchronize selection with the corresponding cells.
+* Perform actions such as:
+ * **Reply** – Add replies directly from the review pane.
+ * **Edit** – Modify the text of a comment or reply.
+ * **Delete** – Remove a reply or an entire thread.
+ * **Resolve/Reopen** – Change the status of a comment.
+
+When the review pane is open, all actions performed in the review pane or in the cell’s comment editor are synchronized:
+
+* Selecting a comment in the review pane highlights the corresponding cell in the sheet.
+* Selecting a cell with a comment focuses the respective comment thread in the review pane.
+* Actions such as **Reply**, **Edit**, **Delete**, and **Resolve/Reopen** update both the pane and the cell comment editor instantly, ensuring consistency across the UI.
+* The review pane dynamically updates when comments are added, deleted, or resolved, so you always see the latest state without refreshing.
+
+## Saving a Workbook with Comments
+You can save spreadsheet data along with **comments** using **File > Save As > Microsoft Excel(.xlsx)**.
+- **MS Excel (.xlsx)** - Preserves all **threaded comments** (modern comments).
+
+> Comments are **not included** when exporting to **.xls**, **.csv**, and **.pdf**.
+
+### Why comments are not saved in `.xls`
+The **.xls** format is based on the older Excel binary structure (BIFF8), which does not support modern features like **threaded comments**.
+Threaded comments introduced in newer Excel versions require the **Open XML** structure used by `.xlsx`.
+
+> To retain threaded comments, always save the workbook in **.xlsx** format.
+
+## Bind Comments via code-behind
+You can bind **comment thread** to cells at initial load by providing a `comment` object in the cell model. Each cell supports **per comment thread**, which can include:
+- **Comment**: `author`, `text`, `createdTime`, `isResolved`
+- **Replies**: A collection of replies. Each reply is an object containing its `author`, `text`, and `createdTime` (no nested replies-of-replies).
+
+In the below sample, comments are added to a specific cell using cell data binding. The "Comments" review pane is shown initially by enabling the `showCommentsPane` property, and comments are added using `updateCell` method in the `created` event.
+
+{% tabs %}
+{% highlight ts tabtitle="index.ts" %}
+{% include code-snippet/spreadsheet/javascript-es6/comemnt-cs1/index.ts %}
+{% endhighlight %}
+{% highlight html tabtitle="index.html" %}
+{% include code-snippet/spreadsheet/javascript-es6/comemnt-cs1/index.html %}
+{% endhighlight %}
+{% endtabs %}
+
+{% previewsample "/document-processing/code-snippet/spreadsheet/javascript-es6/comemnt-cs1" %}
+
+### Important Notes
+* **One thread per cell**: Attach a single `comment` object per cell. New remarks should be added as replies inside the existing thread.
+* **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.
+
+## See Also
+* [Notes](./notes)
+* [Hyperlink](./link)
\ No newline at end of file
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_adding_a_comment.gif b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_adding_a_comment.gif
new file mode 100644
index 000000000..863da7a34
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_adding_a_comment.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment.png
new file mode 100644
index 000000000..b002a6db3
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment_reply.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment_reply.png
new file mode 100644
index 000000000..548694016
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_comment_reply.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete-reply_comment.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete-reply_comment.png
new file mode 100644
index 000000000..f2385a4f9
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete-reply_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete_comment.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete_comment.png
new file mode 100644
index 000000000..0c0ff11f1
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_delete_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_edit_comment.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_edit_comment.png
new file mode 100644
index 000000000..2874b11cb
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_edit_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_next_previous_comment.png b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_next_previous_comment.png
new file mode 100644
index 000000000..ece81c396
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_next_previous_comment.png differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_resolve_reopen.gif b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_resolve_reopen.gif
new file mode 100644
index 000000000..1307efbbb
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_resolve_reopen.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_show_comments.gif b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_show_comments.gif
new file mode 100644
index 000000000..d033c0c9a
Binary files /dev/null and b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/images/spreadsheet_show_comments.gif differ
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/keyboard-shortcuts.md b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/keyboard-shortcuts.md
index c997bad60..6a6669c1e 100644
--- a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/keyboard-shortcuts.md
+++ b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/keyboard-shortcuts.md
@@ -107,6 +107,7 @@ The keyboard shortcuts supported in the spreadsheet are,
| Shift + Enter | Complete the cell editing and select the cell above in the same column. |
| Tab | Complete the cell editing and select the next cell in the same row. |
| Shift + Tab | Complete the cell editing and select the previous cell in the same row. |
+| Ctrl + Shift + F2 | Opens the comment editor for the active cell. Upon pressing the `Esc` key, the comment editor in focus will close. |
| Shift + F2 | Open the dialog box to add or edit notes for the desired cells. Meanwhile, upon pressing the `Esc` key, the dialog box for notes, when in focus, will save and close. |
| Alt | Focus on the active ribbon tab. |
| Left | Move the focus to the previous items in the ribbon content. |
diff --git a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/notes.md b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/notes.md
index 0b54bfe23..af6d871e6 100644
--- a/Document-Processing/Excel/Spreadsheet/Javascript-ES6/notes.md
+++ b/Document-Processing/Excel/Spreadsheet/Javascript-ES6/notes.md
@@ -9,7 +9,7 @@ documentation: ug
# Notes in EJ2 TypeScript Spreadsheet control
-The **Notes** feature is used to insert comments, provide feedback, suggest changes, or leave remarks on specific cells while reviewing documents in the Spreadsheet. You can enable or disable the notes functionality using the [`enableNotes`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#enablenotes) property, which defaults to **true**.
+The **Notes** feature is used to insert comments, provide feedback, suggest changes, or leave remarks on specific cells while reviewing documents in the Spreadsheet. You can enable or disable the notes functionality using the [enableNotes](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#enablenotes) property, which defaults to **true**.
When opening the Excel document with notes in the Spreadsheet, they will be displayed in the control. The cells containing notes will be indicated with a red colored triangle at the top-right corner. Hovering the mouse over these cells will display the content of the notes.
@@ -32,38 +32,103 @@ In the below example, you can add, edit, save, and delete notes.
In the active worksheet, you can add a note in the following ways:
-* To add a note, right-click the cell to open the context menu and choose the **"Add Note"** option from the context menu. This will open a dialog box to add the content as a note.
-* You can also use the `Shift` + `F2` keyboard shortcut to add a note to the desired cell. A dialog box will be opened to add the content as a note.
-* After entering the content in the dialog box, you can either click on other cells or press the `Esc` button on the keyboard to automatically save the note in the cell and close the dialog box.
+* **Context Menu**: Right-click the desired cell and select **Add Note**.
+* **Ribbon**: Select the cell, navigate to the **Review** tab, click the **Notes** dropdown, and select **Add Note**.
+* **Keyboard Shortcut**: Select the cell and press Shift + F2.
+* **Programmatically**:
+ * Use the `updateCell` method with the note model to add a note to a specific cell.
+ * Bind notes via code-behind during initial load by associating the note model with the cell model.
+
+A dialog box will open where you can enter the note content. After entering the content, you can either click on other cells or press the Esc button to automatically save the note and close the dialog box.

## Editing a note
-In the active worksheet, you can modify the content of existing notes in the document.
+In the active worksheet, you can modify the content of existing notes in the document:
+
+* **Context Menu**: Right-click the cell containing the note and select **Edit Note**.
+* **Ribbon**: Select the cell containing the note, navigate to the **Review** tab, click the **Notes** dropdown, and select **Edit Note**.
+* **Keyboard Shortcut**: Select the cell containing the note and press Shift + F2.
-* To edit a note, right-click on the desired cell containing the note, which will open the context menu.
-* Select the **"Edit Note"** option from the context menu.
-* You can also use the `Shift` + `F2` keyboard shortcut to edit the note of the desired cell. A dialog box will be opened to edit the note.
-* After editing the content in the dialog box, you can either click on other cells or press the `Esc` button on the keyboard to automatically save the note in the cell and close the dialog box.
+The note editor dialog box will open with the existing content. After editing the content, you can either click on other cells or press the Esc button to automatically save the changes and close the dialog box.

## Deleting a note
-In the active worksheet, right-click on the desired cell containing the note that you want to remove, which opens the context menu. In the context menu, select the **"Delete Note"** option to delete the note.
+You can remove notes from cells using the following ways:
+
+* **Context Menu**: Right-click the cell containing the note and select **Delete Note**.
+* **Ribbon**: Select the cell containing the note, navigate to the **Review** tab, click the **Notes** dropdown, and select **Delete Note**.
+
+The note will be removed from the cell, and the red triangle indicator will be removed.

+## Navigating between notes
+
+The Syncfusion Spreadsheet provides intuitive navigation to quickly move between cells containing notes in your worksheet. These options are accessible through the **Notes** dropdown in the **Review** tab.
+
+### Previous Note
+
+To navigate to the previous note:
+
+* In the **Review** tab, open the **Notes** dropdown and select **Previous Note**.
+* The Spreadsheet will automatically select the previous note in the current worksheet, searching leftward and then upward.
+* If no prior note exists in the sheet, the search continues to the previous worksheet in order.
+* If the workbook contains no notes, the selection remains on the current cell.
+
+### Next Note
+
+To navigate to the next note:
+
+* In the **Review** tab, open the **Notes** dropdown and select **Next Note**.
+* The Spreadsheet will automatically select the next note in the current worksheet, searching rightward and then downward.
+* If no subsequent note exists in the sheet, the search continues to the next worksheet in order.
+* If the workbook contains no notes, the selection remains on the current cell.
+
+This functionality streamlines the process of reviewing notes across worksheets, ensuring efficient traversal and discovery.
+
+## Show/Hide Note
+
+The **Show/Hide Note** option allows you to toggle the visibility of individual notes as sticky notes within the worksheet. When enabled, the note appears as a persistent floating text box, making it convenient to reference key information without hovering over the cell.
+
+To toggle the visibility of a note:
+
+* **Context Menu**: Right-click the cell containing the note and select **Show/Hide Note**.
+* **Ribbon**: Select the cell, go to the **Review** tab, click the **Notes** dropdown, and choose **Show/Hide Note**.
+
+**Behavior:**
+
+* **Default State (Hidden)**: Notes are hidden by default and only appear when hovering over the cell, which displays a red triangle indicator.
+* **Sticky State (Visible)**: Toggling Show/Hide Note on a hidden note makes it visible as a sticky note, which remains on display even when navigating to other cells or selections.
+* **Toggle Functionality**: Selecting Show/Hide Note again on a visible note hides it, reverting to the default state.
+* **Independent Control**: Each note can be toggled individually, allowing you to display only the most relevant notes for your current task.
+
+## Show All Notes
+
+The **Show All Notes** option enables you to display all notes in the current worksheet simultaneously as sticky notes, simplifying the review of multiple comments at a glance.
+
+To activate:
+
+* Navigate to the **Review** tab, click the **Notes** dropdown, and select **Show All Notes**.
+
+All notes in the worksheet will appear as floating text boxes near their respective cells.
+
+> **Note**: After using Show All Notes, you can hide individual notes selectively via the **Show/Hide Note** option. Additionally, any new notes added to the worksheet will automatically appear as visible sticky notes when Show All Notes is active.
+
+This functionality enhances workflow efficiency by providing flexible control over note visibility, whether for individual focus or comprehensive review.
+
## Saving the document with notes
-The Spreadsheet data, including notes, can be saved and exported as an Excel document by selecting **File > Save As** in the ribbon menu. Exporting worksheets with notes is supported in Excel file formats such as MS Excel (.xlsx) and MS Excel 97-2003 (.xls).
+The Spreadsheet data, including notes, can be saved and exported as an Excel document by selecting **File > Save As** in the ribbon menu. Exporting worksheets with notes is supported in Excel file formats such as Microsoft Excel (.xlsx) and Microsoft Excel 97-2003 (.xls).
> When exporting the Spreadsheet to file formats such as Comma Separated Values (.csv), Excel Macro-Enabled Workbook (.xlsm), Excel Binary Workbook (.xlsb), and PDF Document (.pdf), the notes will not be available.
## Disabling notes
-To disable the note functionality, you need to set the [`enableNotes`](https://ej2.syncfusion.com/documentation/api/spreadsheet/#enablenotes) property to **false**. After disabling, the notes in the document will not be shown when opened in the Spreadsheet. The **"Add Note"** option will not be shown in the context menu. The keyboard shortcuts for the note functionality will not work.
+To disable the note functionality, you need to set the [enableNotes](https://ej2.syncfusion.com/documentation/api/spreadsheet/index-default#enablenotes) property to **false**. After disabling, the notes in the document will not be shown when opened in the Spreadsheet. The **Add Note** option will not be shown in the context menu. The keyboard shortcuts for the note functionality will not work.

@@ -84,6 +149,8 @@ In the below example, the note functionality is disabled in the Spreadsheet.
The notes can be added initially when the Spreadsheet loads using cell data binding. You need to use the `notes` property in the cell settings to add notes to the Spreadsheet.
+In the below example, you can navigate between notes using **Previous Note** and **Next Note** options, toggle individual note visibility with **Show/Hide Note**, display all notes at once using **Show All Notes** and see how notes are added using the `updateCell` method in the `created` event.
+
{% tabs %}
{% highlight ts tabtitle="index.ts" %}
{% include code-snippet/spreadsheet/javascript-es6/note-cs3/index.ts %}
diff --git a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/Performance-Metrics.md b/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/Performance-Metrics.md
deleted file mode 100644
index 5b30714ca..000000000
--- a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/Performance-Metrics.md
+++ /dev/null
@@ -1,86 +0,0 @@
----
-title: Performance Metrics of Syncfusion HTML-to-PDF Conversion
-description: This section provides a detailed overview of the performance metrics and capabilities of the HTML-to-PDF conversion library.
-platform: document-processing
-control: PDF
-documentation: UG
----
-
-# HTML to PDF Performance Benchmarks
-
-The Syncfusion® [HTML to PDF library](https://www.syncfusion.com/document-sdk/net-pdf-library/html-to-pdf) delivers high-performance APIs to convert web content into PDF documents programmatically. This performance benchmark report highlights the speed and efficiency of HTML-to-PDF conversion, showcasing how the library manages large-scale document rendering in real-world scenarios.
-
-## Environment Details
-
-The following system configurations were used for benchmarking:
-
-OS Edition : Windows 11 Enterprise
-Version : 22H2
-Processor : 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz 2.42 GHz
-Installed RAM : 20.0 GB (19.7 GB usable)
-System type : 64-bit operating system, x64-based processor
-
-## Example Application
-
-The benchmark details were obtained using the [Syncfusion.HtmlToPdfConverter.Net.Windows](https://www.nuget.org/packages/Syncfusion.HtmlToPdfConverter.Net.Windows) package. You can refer to the following sample, as well as the input and output files used:
-
-Input HTML files : [Input HTML files](https://github.com/SyncfusionExamples/html-to-pdf-csharp-examples/tree/master/Performance_Testing/Syncfusion_HTMLtoPDF/wwwroot/Data)
-
-Output PDF files : [Output document](https://www.syncfusion.com/downloads/support/directtrac/general/ze/Output-924807763.zip)
-
-## Results
-
-
-
Input Page count
-
Conversion time
-
-(Avg value of 5 conversions)
-
-
Process Memory and CPU usage
-
-
-
10+ Pages
-
2.78 seconds
-
-Memory usage: 318 MB
-
-CPU usage: 10%
-
-
-
100+ pages
-
3.65 seconds
-
Memory usage: 367 MB
-
-CPU usage: 14%
-
-
-
1000+ pages
-
6.72 seconds
-
Memory usage: 813 MB
-
-CPU usage: 27%
-
-
-
10 documents with 100+ pages in a loop
-
30.52 seconds
-
-Memory usage: 663 MB
-
-CPU usage: 15%
-
-
-
10 documents with 1000+ pages in a loop
-
1 minute 10 seconds
-
-Memory usage: 2.2 GB
-
-CPU usage: 64%
-
-
-
-N> The performance metrics were recorded on a freshly configured machine. Speed and memory usage may vary if the machine is running other processes. Additionally, performance can be affected by:
-N> * External resources loaded in the HTML (such as images, scripts, and styles)
-N> * Network speed for online URL conversions
-N> * Hardware resources (CPU and memory)
-
-You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/html-to-pdf-csharp-examples/tree/master/Performance_Testing/Syncfusion_HTMLtoPDF).
\ No newline at end of file
diff --git a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/features.md b/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/features.md
index ebf3a7b0a..3ce65618b 100644
--- a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/features.md
+++ b/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/features.md
@@ -807,96 +807,6 @@ padding-left: 5px;
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/HTML%20to%20PDF/Blink/Create-custom-style-TOC-when-converting-HTML-to-PDF).
-## Exclude cover page from TOC
-
-This code snippet shows how to configure the Table of Contents (TOC) to skip the cover page by setting the starting page number. In this example, the cover page is a single page, so the TOC begins at page 1. For documents with multiple cover pages, adjust the starting page number as needed.
-
-{% tabs %}
-
-{% highlight c# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/PDF-Examples/master/HTML%20to%20PDF/Blink/Skip-cover-page-in-TOC-page-numbering/.NET/Skip-cover-page-in-TOC-page-numbering/Program.cs, 300" %}
-
-using Syncfusion.Drawing;
-using Syncfusion.HtmlConverter;
-using Syncfusion.Pdf;
-
-// Create an instance of HTML-to-PDF converter
-HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();
-// Configure Blink converter settings
-BlinkConverterSettings blinkConverterSettings = new BlinkConverterSettings()
-{
- ViewPortSize = new Size(1280, 0), // Set viewport width for rendering
- EnableToc = true, // Enable Table of Contents (TOC)
-};
-// Set TOC starting page number to skip the cover page
-blinkConverterSettings.Toc.StartingPageNumber = 1;
-// Apply the settings to the converter
-htmlConverter.ConverterSettings = blinkConverterSettings;
-// Read the main HTML content and convert it to PDF
-string inputhtml = File.ReadAllText("input.html");
-PdfDocument document = htmlConverter.Convert(inputhtml, "");
-//Create cover page and insert to the 0th index.
-// Apply scaling settings for the cover page
-htmlConverter.ConverterSettings = new BlinkConverterSettings()
-{
- Scale = 1.5f
-};
-// Convert the cover page HTML to PDF
-string coverimage = File.ReadAllText("coverpage.html");
-PdfDocument coverPage = htmlConverter.Convert(coverimage, "");
-// Insert the cover page at the beginning of the main document
-document.Pages.Insert(0, coverPage.Pages[0]);
-// Save the PDF document
-document.Save("Output.pdf");
-//Dispose the document
-coverPage.Close(true);
-document.Close(true);
-htmlConverter.Close();
-
-{% endhighlight %}
-
-{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
-
-Imports Syncfusion.Drawing
-Imports Syncfusion.HtmlConverter
-Imports Syncfusion.Pdf
-
-' Create an instance of HTML-to-PDF converter
-Dim htmlConverter As New HtmlToPdfConverter()
-' Configure Blink converter settings
-Dim blinkConverterSettings As New BlinkConverterSettings() With {
- .ViewPortSize = New Size(1280, 0), ' Set viewport width for rendering
- .EnableToc = True ' Enable Table of Contents (TOC)
-}
-' Set TOC starting page number to skip the cover page
-blinkConverterSettings.Toc.StartingPageNumber = 1
-' Apply the settings to the converter
-htmlConverter.ConverterSettings = blinkConverterSettings
-' Read the main HTML content and convert it to PDF
-Dim inputhtml As String = File.ReadAllText("input.html")
-Dim document As PdfDocument = htmlConverter.Convert(inputhtml, "")
-' Create cover page and insert to the 0th index.
-' Apply scaling settings for the cover page
-htmlConverter.ConverterSettings = New BlinkConverterSettings() With {
- .Scale = 1.5F
-}
-' Convert the cover page HTML to PDF
-Dim coverimage As String = File.ReadAllText("coverpage.html")
-Dim coverPage As PdfDocument = htmlConverter.Convert(coverimage, "")
-' Insert the cover page at the beginning of the main document
-document.Pages.Insert(0, coverPage.Pages(0))
-' Save the PDF document
-document.Save("Output.pdf")
-' Dispose the documents
-coverPage.Close(True)
-document.Close(True)
-htmlConverter.Close()
-
-{% endhighlight %}
-
-{% endtabs %}
-
-You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/HTML%20to%20PDF/Blink/Skip-cover-page-in-TOC-page-numbering/.NET).
-
## Media Type
The Blink HTML Converter allows selection of media type while converting HTML to PDF. Blink rendering engine supports Screen and Print media types. Refer to the following code snippet to select Print [MediaType](https://help.syncfusion.com/cr/document-processing/Syncfusion.HtmlConverter.BlinkConverterSettings.html#Syncfusion_HtmlConverter_BlinkConverterSettings_MediaType).
diff --git a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/troubleshooting.md b/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/troubleshooting.md
index cb89948c2..5276d8aa1 100644
--- a/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/troubleshooting.md
+++ b/Document-Processing/PDF/Conversions/HTML-To-PDF/NET/troubleshooting.md
@@ -1043,6 +1043,7 @@ Blink binaries (Version 109.0.5414.75),
+
## There was an error opening this document. This file is already open or in use by another application.
@@ -1093,6 +1094,90 @@ fileStream.Dispose();
+## HTML to PDF Performance Benchmarks:
+
+We have prepared the following benchmark details for converting HTML to PDF, using the specified machine configuration and input HTML files:
+
+
+
+N> The performance metrics were recorded on a freshly configured machine. Speed and memory usage may vary if the machine is running other processes. Additionally, performance can be affected by:
+
+N> * External resources loaded in the HTML (such as images, scripts, and styles)
+N> * Network speed for online URL conversions
+N> * Hardware resources (CPU and memory)
+
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/html-to-pdf-csharp-examples/tree/master/Performance_Testing/Syncfusion_HTMLtoPDF).
+
## Custom fonts are not rendered in Azure App Service and Function Linux using Blink.
diff --git a/Document-Processing/PDF/PDF-Library/NET/Performance-Metrics.md b/Document-Processing/PDF/PDF-Library/NET/Performance-Metrics.md
deleted file mode 100644
index 0d66e5c4e..000000000
--- a/Document-Processing/PDF/PDF-Library/NET/Performance-Metrics.md
+++ /dev/null
@@ -1,173 +0,0 @@
----
-title: Performance Metrics of the Syncfusion PDF Library
-description: This section provides a detailed overview of the performance metrics and capabilities of the PDF processing library.
-platform: document-processing
-control: PDF
-documentation: UG
----
-
-# Performance Metrics in PDF Library
-
-The Syncfusion® [.NET PDF library](https://www.syncfusion.com/document-sdk/net-pdf-library) provides high-performance APIs to create, read, edit, and secure PDF documents programmatically. This performance benchmark report highlights the speed and efficiency of key operations, demonstrating how PDF library handles large-scale document processing in real-world scenarios.
-
-## Environment Details
-
-The following system configurations were used for benchmarking:
-
-* Operating System: Windows 10
-* Processor: AMD Ryzen 7 5800HS with Radeon Graphics 3.20 GHz
-* RAM: 16GB
-* .NET Version: .NET 10.0
-* Syncfusion® Version: [Syncfusion.Pdf.Net.Core 31.2.12](https://www.nuget.org/packages/Syncfusion.Pdf.Net.Core/31.2.12)
-
-## Create document
-
-The table below illustrates the performance of PDF document creation.
-
-
-
-
Pages
-
Syncfusion® Time (sec)
-
-
-
1
-
0.17 seconds
-
-
-
100
-
0.79 seconds
-
-
-
500
-
1.16 seconds
-
-
-
1000
-
1.68 seconds
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Document_creation).
-
-## Open and save PDF document
-
-The table below illustrates the performance of open and save operations when working with PDF documents.
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Open-and-Save-document).
-
-## Apply Watermark
-
-The table below illustrates the performance of watermark application operations in PDF documents.
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Apply-watermark).
-
-## Merge PDF document
-
-The table below illustrates the performance of merge operations on PDF documents.
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Merge-Documents).
-
-## Split PDF document
-
-The table below illustrates the performance of split operations on PDF documents.
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Split-PDF).
-
-## Compress PDF
-
-The table below illustrates the performance of compression operations applied to PDF documents. To compress an existing PDF document in .NET, you should add the [Syncfusion.Pdf.Imaging.NET](https://www.nuget.org/packages/Syncfusion.Pdf.Imaging.NET/31.2.12) package.
-
-
-
-A complete working sample used for this performance evaluation is available for download on [GitHub](https://github.com/SyncfusionExamples/PDF-Examples/tree/master/Performance%20Metrics/.NET/Compress-pdf).
-
-N> Compression efficiency varies based on the type of content in the input PDF document.
-N> Benchmarks were measured on a freshly configured system. Performance results such as speed and memory usage may differ when additional processes are running on the machine.
\ No newline at end of file
diff --git a/Document-Processing/PDF/PDF-Library/NET/Working-with-Layers.md b/Document-Processing/PDF/PDF-Library/NET/Working-with-Layers.md
index 5d1dc2b1b..98e5eb3c2 100644
--- a/Document-Processing/PDF/PDF-Library/NET/Working-with-Layers.md
+++ b/Document-Processing/PDF/PDF-Library/NET/Working-with-Layers.md
@@ -12,9 +12,6 @@ Layers, also known as Option Content refers to sections of content in a PDF docu
Essential® PDF provides support to create, add and merge the layers into PDF document.
-Check the following video to learn how to work with PDF layers using the .NET PDF Library.
-{% youtube "https://youtu.be/xvQ7yM0Pddk?si=T8guG9seZNX09pFb" %}
-
## Adding Layers in a PDF document
Essential® PDF allows the users to create a layer in a PDF page using [PdfPageLayer](https://help.syncfusion.com/cr/document-processing/Syncfusion.Pdf.PdfPageLayer.html) class. The below code example illustrates how to add the multiple layers in a new PDF document.
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/skia-sharp-image.png b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/skia-sharp-image.png
index f05a3acaf..373887d76 100644
Binary files a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/skia-sharp-image.png and b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/gettingstarted-images/skia-sharp-image.png differ
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
index c444b161f..444b3f392 100644
--- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-app.md
@@ -37,7 +37,7 @@ To add **Blazor PDF Viewer** component in the app, open the NuGet package manage
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.116.1. Ensure this version is referenced.
+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)

@@ -95,8 +95,8 @@ dotnet restore
N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details.
-N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.116.1. Ensure this version is referenced.
-* dotnet add package SkiaSharp.Views.Blazor -v 3.116.1
+N> Syncfusion® uses [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor) version 3.119.1. Ensure this version is referenced.
+* dotnet add package SkiaSharp.Views.Blazor -v 3.119.1

@@ -304,7 +304,7 @@ Run the application to display the PDF file in the Syncfusion® Blazor PDF Vi
{% previewsample "https://blazorplayground.syncfusion.com/embed/hZVzNWqXLSZpnuzc?appbar=false&editor=false&result=true&errorlist=false&theme=bootstrap5" backgroundimage "[Blazor Web App SfPdfViewer rendering in browser](gettingstarted-images/blazor-pdfviewer.png)" %}
-N> [View the sample on GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer%20%202/BlazorWebApp).
+N> [View the sample on GitHub](https://github.com/SyncfusionExamples/Blazor-Getting-Started-Examples/tree/main/PDFViewer2/NET10/PDFViewer2_WebApp).
## See also
diff --git a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md
index 166199ef3..a3732020e 100644
--- a/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md
+++ b/Document-Processing/PDF/PDF-Viewer/blazor/getting-started/web-assembly-application.md
@@ -37,7 +37,7 @@ To add the Blazor PDF Viewer component to the app, open the NuGet Package Manage
* [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes)
* [SkiaSharp.Views.Blazor](https://www.nuget.org/packages/SkiaSharp.Views.Blazor)
-N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.116.1. Ensure this version is referenced.
+N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
{% endtabcontent %}
@@ -82,14 +82,14 @@ N> The PDF Viewer component is supported on .NET 8.0 and later.
dotnet add package Syncfusion.Blazor.SfPdfViewer -v {{ site.releaseversion }}
dotnet add package Syncfusion.Blazor.Themes -v {{ site.releaseversion }}
-dotnet add package SkiaSharp.Views.Blazor -v 3.116.1
+dotnet add package SkiaSharp.Views.Blazor -v 3.119.1
dotnet restore
{% endhighlight %}
{% endtabs %}
-N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.116.1. Ensure this version is referenced.
+N> Syncfusion® uses SkiaSharp.Views.Blazor version 3.119.1. Ensure this version is referenced.
N> Syncfusion® Blazor components are available on [nuget.org](https://www.nuget.org/packages?q=syncfusion.blazor). See [NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages) for the list of available packages and component details.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md b/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md
index adc06c5ba..132b0fd29 100644
--- a/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Getting-Started.md
@@ -463,4 +463,4 @@ Open the `MainPage.xaml` file and follow the steps below.
The **Getting Started** example project for the .NET MAUI PDF Viewer can be downloaded [here](https://github.com/SyncfusionExamples/maui-pdf-viewer-examples).
-N> You can refer to our [.NET MAUI PDF Viewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [.NET MAUI PDF Viewer Example](https://github.com/syncfusion/pdf-viewer-sdk-net-maui-demos/tree/master/PdfViewer) that shows you how to render the PDF Viewer in .NET MAUI.
+N> You can refer to our [.NET MAUI PDF Viewer](https://www.syncfusion.com/maui-controls/maui-pdf-viewer) feature tour page for its groundbreaking feature representations. You can also explore our [.NET MAUI PDF Viewer Example](https://github.com/syncfusion/maui-demos/tree/master/MAUI/PdfViewer) that shows you how to render the PDF Viewer in .NET MAUI.
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md
index 65db81fee..e2941fc2c 100644
--- a/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Open-a-Document.md
@@ -79,21 +79,6 @@ The .NET MAUI PDF Viewer does not currently support annotations comparable to Xa
N> * All the [LoadDocument](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_LoadDocument_System_IO_Stream_System_String_System_Nullable_Syncfusion_Maui_PdfViewer_FlattenOptions__) methods accept the flatten options parameter.
N> * Refer to this [section](https://help.syncfusion.com/maui/pdf-viewer/migration#upcoming-features) for the upcoming annotation features in the [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html).
-## Optimizing document loading on Android
-
-When your application handles large images, complex graphics, or memory-intensive operations, the default heap size may not be sufficient, leading to performance issues or crashes. Enabling a larger heap allows the app to allocate more memory, ensuring smooth performance and preventing out-of-memory errors in such scenarios. You can enable this by adding the following highlighted attribute in your AndroidManifest.xml under the tag.
-
-{% tabs %}
-{% highlight xml hl_lines="4" %}
-
-
-
- ...
-
-{% endhighlight %}
-{% endtabs %}
-
## Check other PDF opening options
* [Open a document from local storage](https://help.syncfusion.com/maui/pdf-viewer/open-a-document-from-local-storage)
diff --git a/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md b/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md
index 3350d7520..d722d2d20 100644
--- a/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md
+++ b/Document-Processing/PDF/PDF-Viewer/maui/Text-Search.md
@@ -11,10 +11,6 @@ documentation: ug
The [SfPdfViewer](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html) allows you to search for text in a PDF document and navigate to all its occurrences.
-You can also watch the video tutorial below to learn about text search.
-
-
-
## Initiate a text search
The [SearchTextAsync](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.SfPdfViewer.html#Syncfusion_Maui_PdfViewer_SfPdfViewer_SearchTextAsync_System_String_TextSearchOptions_System_Threading_CancellationTokenSource_) method asynchronously searches the specified text throughout the PDF document and highlights each occurrence (match). To start the search, you need to call the method in a button click by passing the text to be searched as a parameter, as shown in the following example:
@@ -162,7 +158,7 @@ private void PdfTextSearchProgress(object sender, TextSearchProgressEventArgs e)
{% endhighlight %}
{% endtabs %}
-### Canceling search progress
+### Cancelling search progress
The [Clear](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html#Syncfusion_Maui_PdfViewer_TextSearchResult_Clear) method of the [TextSearchResult](https://help.syncfusion.com/cr/maui/Syncfusion.Maui.PdfViewer.TextSearchResult.html) can be used to cancel the text search progress that does not need to be continued. For example, under the following scenarios, cancellation may be necessary.
diff --git a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Fallback-Fonts-in-PPTXtoImage-Conversion.md b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Fallback-Fonts-in-PPTXtoImage-Conversion.md
index 5c35a0921..697f491b7 100644
--- a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Fallback-Fonts-in-PPTXtoImage-Conversion.md
+++ b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Fallback-Fonts-in-PPTXtoImage-Conversion.md
@@ -103,7 +103,7 @@ using (FileStream fileStreamInput = new FileStream("Template.pptx", FileMode.Ope
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-Image-conversion/Fallback-fonts-based-on-scripttype).
-## Fallback Symbols based on script type
+## Fallback fonts for symbols
The following code example demonstrates how a user can add fallback fonts for Symbols and Emojis, which Presentation considers internally when converting a PowerPoint presentation to an Image.
@@ -142,6 +142,8 @@ using (FileStream fileStreamInput = new FileStream("Template.pptx", FileMode.Ope
{% endtabs %}
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-Image-conversion/Fallback-symbols-based-on-scripttype/)
+
## Fallback fonts for range of Unicode text
Users can set fallback fonts for specific Unicode range of text to be used in Presentation to Image conversion.
diff --git a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Performance-metrics.md b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Performance-metrics.md
index a899b9821..6d19a8c92 100644
--- a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Performance-metrics.md
+++ b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-Image/NET/Performance-metrics.md
@@ -6,7 +6,7 @@ control: Presentation
documentation: UG
---
-# PowerPoint to image performance benchmarks using .NET PowerPoint Library
+# PowerPoint to image performance metrics in .NET PowerPoint Library
The Syncfusion® .NET PowerPoint library (Presentation) enables seamless integration with PowerPoint files, offering robust features for handling presentations in various formats. This performance benchmark report highlights the speed and efficiency of PowerPoint to image conversion, demonstrating how our library performs in real-world scenarios.
@@ -14,11 +14,11 @@ The Syncfusion® .NET PowerPoint library (Presentation) enables se
The following system configurations were used for benchmarking:
-* **Operating System:** Windows 10
-* **Processor:** 11th Gen Intel(R) Core(TM)
-* **RAM:** 16GB
+* **Operating System:** Windows 11
+* **Processor:** 12th Gen Intel(R) Core(TM) i5-1235U (1.30 GHz)
+* **RAM:** 24GB
* **.NET Version:** .NET 8.0
-* **Syncfusion® Version:** [Syncfusion.PresentationRenderer.Net.Core v30.1.37](https://www.nuget.org/packages/Syncfusion.PresentationRenderer.Net.Core/30.1.37)
+* **Syncfusion® Version:** [Syncfusion.PresentationRenderer.Net.Core v32.1.19](https://www.nuget.org/packages/Syncfusion.PresentationRenderer.Net.Core/32.1.19)
## PowerPoint to image conversion
@@ -41,12 +41,12 @@ The following system configurations were used for benchmarking:
diff --git a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Fallback-Fonts-in-PPTXtoPDF-Conversion.md b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Fallback-Fonts-in-PPTXtoPDF-Conversion.md
index 5471b1d75..0e8be56c8 100644
--- a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Fallback-Fonts-in-PPTXtoPDF-Conversion.md
+++ b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Fallback-Fonts-in-PPTXtoPDF-Conversion.md
@@ -210,7 +210,7 @@ pptxDoc.Close()
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-PDF-conversion/Fallback-fonts-based-on-scripttype).
-## Fallback Symbols based on script type
+## Fallback fonts for symbols
The following code example demonstrates how a user can add fallback fonts for Symbols and Emojis, which Presentation considers internally when converting a PowerPoint presentation to PDF.
@@ -298,6 +298,8 @@ pptxDoc.Close()
{% endtabs %}
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-PDF-conversion/Fallback-symbols-based-on-scripttype/)
+
## Fallback fonts for range of Unicode text
Users can set fallback fonts for specific Unicode range of text to be used in presentation to PDF conversion.
diff --git a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Performance-metrics.md b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Performance-metrics.md
index a8520170f..5a6d3ef27 100644
--- a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Performance-metrics.md
+++ b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/NET/Performance-metrics.md
@@ -14,11 +14,11 @@ The Syncfusion® .NET PowerPoint library (Presentation) enables se
The following system configurations were used for benchmarking:
-* **Operating System:** Windows 10
-* **Processor:** 11th Gen Intel(R) Core(TM)
-* **RAM:** 16GB
+* **Operating System:** Windows 11
+* **Processor:** 12th Gen Intel(R) Core(TM) i5-1235U (1.30 GHz)
+* **RAM:** 24GB
* **.NET Version:** .NET 8.0
-* **Syncfusion® Version:** [Syncfusion.PresentationRenderer.Net.Core v30.1.37](https://www.nuget.org/packages/Syncfusion.PresentationRenderer.Net.Core/30.1.37)
+* **Syncfusion® Version:** [Syncfusion.PresentationRenderer.Net.Core v32.1.19](https://www.nuget.org/packages/Syncfusion.PresentationRenderer.Net.Core/32.1.19)
## PowerPoint to PDF conversion
@@ -41,12 +41,12 @@ The following system configurations were used for benchmarking:
diff --git a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/overview.md b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/overview.md
index 8d573c9ab..73b65d1db 100644
--- a/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/overview.md
+++ b/Document-Processing/PowerPoint/Conversions/PowerPoint-To-PDF/overview.md
@@ -6,7 +6,7 @@ control: PowerPoint
documentation: UG
---
-# Convert PowerPoint to PDF using Syncfusion® PowerPoint library
+# Convert PowerPoint to PDF using Syncfusion® PowerPoint library
Syncfusion® PowerPoint library (Presentation) allows you to convert PowerPoint Presentation document to PDF within a few lines of code in .NET applications and also it does not require Adobe and Microsoft PowerPoint application to be installed in the machine. Using this, you can create an input PowerPoint Presentation document from scratch or load an existing PowerPoint Presentation document and then easily convert to PDF.
@@ -532,6 +532,75 @@ End Using
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-PDF-conversion/Convert-PowerPoint-into-accessible-PDF).
+## PowerPoint shapes to PDF form field
+
+This setting allows you to **preserve PowerPoint shapes as PDF form fields** in the converted PDF document. Shapes with names starting with **FormField_** will be converted into **editable text form fields** in the resulting PDF. This feature helps in creating **interactive and fillable PDF forms** from PowerPoint presentations.
+
+The following code sample shows how to preserve PowerPoint form fields as PDF form fields in the converted PDF document.
+
+{% tabs %}
+
+{% highlight C# tabtitle="C# [Cross-platform]" playgroundButtonLink="https://raw.githubusercontent.com/SyncfusionExamples/PowerPoint-Examples/master/PPTX-to-PDF-conversion/Create-fillable-PDF-from-PPTX/.NET/Create-fillable-PDF-from-PPTX/Program.cs" %}
+//Open the PowerPoint file stream.
+using (FileStream fileStream = new FileStream(Path.GetFullPath(@"Data/Template.pptx"), FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
+{
+ //Load an existing PowerPoint Presentation.
+ using (IPresentation pptxDoc = Presentation.Open(fileStream))
+ {
+ // Create new instance for PresentationToPdfConverterSettings
+ PresentationToPdfConverterSettings settings = new PresentationToPdfConverterSettings();
+ //Enables a flag to preserve form fields by converting shapes with names starting with 'FormField_' into editable text form fields in the PDF.
+ settings.PreserveFormFields = true;
+ //Convert PowerPoint into PDF document.
+ using (PdfDocument pdfDocument = PresentationToPdfConverter.Convert(pptxDoc))
+ {
+ //Save the PDF file to file system.
+ using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/PPTXToPDF.pdf"), FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite))
+ {
+ pdfDocument.Save(outputStream);
+ }
+ }
+ }
+}
+{% endhighlight %}
+
+{% highlight C# tabtitle="C# [Windows-specific]" %}
+//Open a PowerPoint Presentation.
+using (IPresentation pptxDoc = Presentation.Open("Template.pptx"))
+{
+ // Create new instance for PresentationToPdfConverterSettings
+ PresentationToPdfConverterSettings settings = new PresentationToPdfConverterSettings();
+ //Enables a flag to preserve form fields by converting shapes with names starting with 'FormField_' into editable text form fields in the PDF.
+ settings.PreserveFormFields = true;
+ //Convert the PowerPoint Presentation into a PDF document.
+ using (PdfDocument pdfDocument = PresentationToPdfConverter.Convert(pptxDoc, pdfConverterSettings))
+ {
+ //Save a PDF document.
+ pdfDocument.Save("Result.pdf");
+ }
+}
+{% endhighlight %}
+
+{% highlight vb.net tabtitle="VB.NET [Windows-specific]" %}
+'Open a PowerPoint Presentation.
+Using pptxDoc As IPresentation = Presentation.Open("Template.pptx")
+ 'Create new instance for PresentationToPdfConverterSettings
+ Dim settings As New PresentationToPdfConverterSettings()
+ 'Enables a flag to preserve form fields by converting shapes with names starting with 'FormField_' into editable text form fields in the PDF.
+ settings.PreserveFormFields = True
+ 'Convert the PowerPoint Presentation into a PDF document.
+ Using pdfDocument As PdfDocument = PresentationToPdfConverter.Convert(pptxDoc, settings)
+ 'Save a PDF document.
+ pdfDocument.Save("Result.pdf")
+ End Using
+End Using
+
+{% endhighlight %}
+
+{% endtabs %}
+
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/PowerPoint-Examples/tree/master/PPTX-to-PDF-conversion/Create-fillable-PDF-from-PPTX).
+
## Chart quality
The Presentation library provides an option to decide the quality of the charts to optimize the converted PDF document size.
diff --git a/Document-Processing/PowerPoint/PowerPoint-Library/NET/Performance-metrics.md b/Document-Processing/PowerPoint/PowerPoint-Library/NET/Performance-metrics.md
index f869ff97d..2f74883cb 100644
--- a/Document-Processing/PowerPoint/PowerPoint-Library/NET/Performance-metrics.md
+++ b/Document-Processing/PowerPoint/PowerPoint-Library/NET/Performance-metrics.md
@@ -14,11 +14,11 @@ The Syncfusion® .NET PowerPoint library (Presentation) enables se
The following system configurations were used for benchmarking:
-* **Operating System:** Windows 10
-* **Processor:** 11th Gen Intel(R) Core(TM)
-* **RAM:** 16GB
+* **Operating System:** Windows 11
+* **Processor:** 12th Gen Intel(R) Core(TM) i5-1235U (1.30 GHz)
+* **RAM:** 24GB
* **.NET Version:** .NET 8.0
-* **Syncfusion® Version:** [Syncfusion.Presentation.Net.Core v30.1.37](https://www.nuget.org/packages/Syncfusion.Presentation.Net.Core/30.1.37)
+* **Syncfusion® Version:** [Syncfusion.Presentation.Net.Core v32.1.19](https://www.nuget.org/packages/Syncfusion.Presentation.Net.Core/32.1.19)
## Open and save Presentation
@@ -46,7 +46,7 @@ The following system configurations were used for benchmarking:
diff --git a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Fallback-fonts-word-to-pdf.md b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Fallback-fonts-word-to-pdf.md
index 958a7009e..d8bd29544 100644
--- a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Fallback-fonts-word-to-pdf.md
+++ b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Fallback-fonts-word-to-pdf.md
@@ -195,7 +195,7 @@ End Using
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Fallback-fonts-based-on-scripttype).
-## Fallback Symbols based on script type
+## Fallback fonts for symbols
The following code example demonstrates how a user can add fallback fonts for Symbols and Emojis, which DocIO considers internally when converting a Word document to PDF.
@@ -276,7 +276,7 @@ End Using
{% endtabs %}
-
+You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Fallback-fonts-based-on-scripttype/)
## Fallback fonts for range of Unicode text
diff --git a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Font-substituion-word-to-pdf.md b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Font-substituion-word-to-pdf.md
index 4424ae568..1664f52c1 100644
--- a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Font-substituion-word-to-pdf.md
+++ b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Font-substituion-word-to-pdf.md
@@ -216,3 +216,7 @@ End Sub
You can download a complete working sample from [GitHub](https://github.com/SyncfusionExamples/DocIO-Examples/tree/main/Word-to-PDF-Conversion/Use-alternate-font-without-installing).
N> The above event will be triggered only if the specified font is not installed in production machine.
+
+## See Also
+
+* [How to get the list of font names used in a Word document?](https://support.syncfusion.com/kb/article/22134/how-to-get-the-list-of-font-names-used-in-a-word-document-in-c-net-core)
\ No newline at end of file
diff --git a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Performance-metrics.md b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Performance-metrics.md
index 025edbe4e..b070a596a 100644
--- a/Document-Processing/Word/Conversions/Word-To-PDF/NET/Performance-metrics.md
+++ b/Document-Processing/Word/Conversions/Word-To-PDF/NET/Performance-metrics.md
@@ -14,11 +14,11 @@ The Syncfusion® .NET Word library (DocIO) enables high-performanc
The following system configurations were used for benchmarking:
-* **Operating System:** Windows 10
-* **Processor:** 11th Gen Intel(R) Core(TM)
+* **Operating System:** Windows 11
+* **Processor:** AMD Ryzen 5 7520U with Radeon Graphics
* **RAM:** 16GB
* **.NET Version:** .NET 8.0
-* **Syncfusion® Version:** [Syncfusion.DocIORenderer.Net.Core v31.2.12](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core/31.2.12)
+* **Syncfusion® Version:** [Syncfusion.DocIORenderer.Net.Core v32.1.19](https://www.nuget.org/packages/Syncfusion.DocIORenderer.Net.Core/32.1.19)
## Word to PDF conversion
@@ -31,22 +31,22 @@ The following system configurations were used for benchmarking:
diff --git a/Document-Processing/Word/Word-Library/NET/FAQ.md b/Document-Processing/Word/Word-Library/NET/FAQ.md
index c1fd637c0..83f92e0ff 100644
--- a/Document-Processing/Word/Word-Library/NET/FAQ.md
+++ b/Document-Processing/Word/Word-Library/NET/FAQ.md
@@ -62,7 +62,7 @@ The frequently asked questions under each category in Essential®
* [Is it possible to create a Spline chart in a Word document using DocIO?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#is-it-possible-to-create-a-spline-chart-in-a-word-document-using-docio)
* [Why does an exception occur while manipulating found text using Find APIs?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#why-does-an-exception-occur-while-manipulating-found-text-using-find-apis)
* [Why is some text not found in a Word document when using the Find functionality in DocIO?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#why-is-some-text-not-found-in-a-word-document-when-using-the-find-functionality-in-docio)
-* [Why is a bookmark name with a hyphen (-) converted to an underscore (_) in DocIO?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#why-is-a-bookmark-name-with-a-hyphen---converted-to-an-underscore-_-in-docio)
+* [Why is a bookmark name with a hyphen `(-)` converted to an underscore `(_)` in DocIO?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#why-is-a-bookmark-name-with-a-hyphen---converted-to-an-underscore-_-in-docio)
* [Why is formatting not preserved after calling GetAsOneRange()?](https://help.syncfusion.com/document-processing/word/word-library/net/faqs/paragraph-and-paragraph-items-faqs#why-is-formatting-not-preserved-after-calling-getasonerange)
## Mail merge
diff --git a/Document-Processing/Word/Word-Library/NET/Performance-metrics.md b/Document-Processing/Word/Word-Library/NET/Performance-metrics.md
index c70bd8a23..176e39991 100644
--- a/Document-Processing/Word/Word-Library/NET/Performance-metrics.md
+++ b/Document-Processing/Word/Word-Library/NET/Performance-metrics.md
@@ -14,11 +14,11 @@ The Syncfusion® .NET Word library (DocIO) provides high-performan
The following system configurations were used for benchmarking:
-* **Operating System:** Windows 10
-* **Processor:** 11th Gen Intel(R) Core(TM)
+* **Operating System:** Windows 11
+* **Processor:** AMD Ryzen 5 7520U with Radeon Graphics
* **RAM:** 16GB
* **.NET Version:** .NET 8.0
-* **Syncfusion® Version:** [Syncfusion.DocIO.Net.Core v31.1.17](https://www.nuget.org/packages/Syncfusion.DocIO.Net.Core/31.1.17)
+* **Syncfusion® Version:** [Syncfusion.DocIO.Net.Core v32.1.19](https://www.nuget.org/packages/Syncfusion.DocIO.Net.Core/32.1.19)
## Open and save Word document
@@ -31,22 +31,22 @@ The following system configurations were used for benchmarking:
diff --git a/Document-Processing/Word/Word-Library/NET/Word-document/Split-Word-documents.md b/Document-Processing/Word/Word-Library/NET/Word-document/Split-Word-documents.md
index f62372e26..35788c5b3 100644
--- a/Document-Processing/Word/Word-Library/NET/Word-document/Split-Word-documents.md
+++ b/Document-Processing/Word/Word-Library/NET/Word-document/Split-Word-documents.md
@@ -42,7 +42,7 @@ using(WordDocument document = new WordDocument(fileStreamPath, FormatType.Docx))
//Create new Word document
WordDocument newDocument = new WordDocument();
//Add cloned section into new Word document
- newDocument.Sections.Add(section.Clone());
+ newDocument.Sections.Add(document.Sections[i].Clone());
//Saves the Word document to MemoryStream
FileStream outputStream = new FileStream("Section" + i + ".docx", FileMode.OpenOrCreate, FileAccess.ReadWrite);
newDocument.Save(outputStream, FormatType.Docx);
@@ -62,7 +62,7 @@ using (WordDocument document = new WordDocument(@"Template.docx"))
//Create new Word document
WordDocument newDocument = new WordDocument();
//Add cloned section into new Word document
- newDocument.Sections.Add(section.Clone());
+ newDocument.Sections.Add(document.Sections[i].Clone());
//Save and close the new Word documet
newDocument.Save("Section" + i + ".docx");
newDocument.Close();
@@ -641,7 +641,7 @@ You can download a complete working sample from [GitHub](https://github.com/Sync
## Online Demo
-* Explore how to split a Word document by section using the .NET Word Library (DocIO) in a live demo [here](https://ej2.syncfusion.com/aspnetcore/word/splitbysection#/bootstrap5).
-* See how to split a Word document by heading using the .NET Word Library (DocIO) in a live demo [here](https://ej2.syncfusion.com/aspnetcore/word/splitbyheading#/bootstrap5).
-* See how to split a Word document by bookmark using the .NET Word Library (DocIO) in a live demo [here](https://ej2.syncfusion.com/aspnetcore/word/splitbybookmark#/bootstrap5).
-* See how to split a Word document by placeholder using the .NET Word Library (DocIO) in a live demo [here](https://ej2.syncfusion.com/aspnetcore/word/splitbyplaceholder#/bootstrap5).
\ No newline at end of file
+* Explore how to split a Word document by section using the .NET Word Library (DocIO) in a live demo [here](https://document.syncfusion.com/demos/word/splitbysection#/tailwind).
+* See how to split a Word document by heading using the .NET Word Library (DocIO) in a live demo [here](https://document.syncfusion.com/demos/word/splitbyheading#/tailwind).
+* See how to split a Word document by bookmark using the .NET Word Library (DocIO) in a live demo [here](https://document.syncfusion.com/demos/word/splitbybookmark#/tailwind).
+* See how to split a Word document by placeholder using the .NET Word Library (DocIO) in a live demo [here](https://document.syncfusion.com/demos/word/splitbyplaceholder#/tailwind).
\ No newline at end of file
diff --git a/Document-Processing/Word/Word-Processor/angular/paragraph-format.md b/Document-Processing/Word/Word-Processor/angular/paragraph-format.md
index e54ff618c..bc03aeb24 100644
--- a/Document-Processing/Word/Word-Processor/angular/paragraph-format.md
+++ b/Document-Processing/Word/Word-Processor/angular/paragraph-format.md
@@ -76,11 +76,8 @@ this.documentEditor.selection.paragraphFormat.lineSpacing= 6.5; // Float value
You can define the spacing before or after the paragraph by using the following sample code.
```typescript
-// Set line spacing type
this.documentEditor.selection.paragraphFormat.beforeSpacing= 24;
-// Set line spacing value (supports both integer and float)
-this.documentEditor.selection.paragraphFormat.lineSpacing= 6; // Integer value
-this.documentEditor.selection.paragraphFormat.lineSpacing= 6.5; // Float value
+this.documentEditor.selection.paragraphFormat.afterSpacing= 24;
```
You can also set automatic spacing before and after the paragraph by using the following sample code.
diff --git a/Document-Processing/Word/Word-Processor/react/getting-started.md b/Document-Processing/Word/Word-Processor/react/getting-started.md
index db445b0ea..213bd894e 100644
--- a/Document-Processing/Word/Word-Processor/react/getting-started.md
+++ b/Document-Processing/Word/Word-Processor/react/getting-started.md
@@ -219,7 +219,7 @@ Document Editor output will be displayed as follows.
{% endhighlight %}
{% endtabs %}
-{% previewsample "/document-processing/code-snippet/document-editor/react/getting-started/base-cs2" %}
+{% previewsample "/document-processing/code-snippet/document-editor/react/base-cs2" %}
> The Web API hosted link `https://document.syncfusion.com/web-services/docx-editor/api/documenteditor/` utilized in the Document Editor's serviceUrl property is intended solely for demonstration and evaluation purposes. For production deployment, please host your own web service with your required server configurations. You can refer and reuse the [GitHub Web Service example](https://github.com/SyncfusionExamples/EJ2-DocumentEditor-WebServices) or [Docker image](https://hub.docker.com/r/syncfusion/word-processor-server) for hosting your own web service and use for the serviceUrl property.
diff --git a/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.jsx b/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.jsx
index bc70e88dd..7523f975e 100644
--- a/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.jsx
+++ b/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.jsx
@@ -1,4 +1,4 @@
-import * as ReactDOM from 'react-dom/client';
+import { createRoot } from 'react-dom/client';
import * as React from 'react';
import { DocumentEditorComponent, Print, SfdtExport, WordExport, TextExport, Selection, Search, Editor, ImageResizer, EditorHistory, ContextMenu, OptionsPane, HyperlinkDialog, TableDialog, BookmarkDialog, TableOfContentsDialog, PageSetupDialog, StyleDialog, ListDialog, ParagraphDialog, BulletsAndNumberingDialog, FontDialog, TablePropertiesDialog, BordersAndShadingDialog, TableOptionsDialog, CellOptionsDialog, StylesDialog } from '@syncfusion/ej2-react-documenteditor';
DocumentEditorComponent.Inject(Print, SfdtExport, WordExport, TextExport, Selection, Search, Editor, ImageResizer, EditorHistory, ContextMenu, OptionsPane, HyperlinkDialog, TableDialog, BookmarkDialog, TableOfContentsDialog, PageSetupDialog, StyleDialog, ListDialog, ParagraphDialog, BulletsAndNumberingDialog, FontDialog, TablePropertiesDialog, BordersAndShadingDialog, TableOptionsDialog, CellOptionsDialog, StylesDialog);
diff --git a/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.tsx b/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.tsx
index 5c308a3d7..e2582ed91 100644
--- a/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.tsx
+++ b/Document-Processing/code-snippet/document-editor/react/base-cs2/app/index.tsx
@@ -1,6 +1,4 @@
-
-
-import * as ReactDOM from 'react-dom/client';
+import { createRoot } from 'react-dom/client';
import * as React from 'react';
import {
diff --git a/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.jsx b/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.jsx
index 889acf635..3657eaef2 100644
--- a/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.jsx
+++ b/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.jsx
@@ -1,4 +1,4 @@
-import * as ReactDOM from 'react-dom/client';
+import { createRoot } from 'react-dom/client';
import * as React from 'react';
import { DocumentEditorContainerComponent, Toolbar } from '@syncfusion/ej2-react-documenteditor';
DocumentEditorContainerComponent.Inject(Toolbar);
diff --git a/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.tsx b/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.tsx
index a4fbe66cf..bab3ff391 100644
--- a/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.tsx
+++ b/Document-Processing/code-snippet/document-editor/react/base-cs3/app/index.tsx
@@ -1,6 +1,4 @@
-
-
-import * as ReactDOM from 'react-dom/client';
+import { createRoot } from 'react-dom/client';
import * as React from 'react';
import {
DocumentEditorContainerComponent, Toolbar
diff --git a/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/angular.json b/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/angular.json
new file mode 100644
index 000000000..98b735ee4
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/angular.json
@@ -0,0 +1,70 @@
+{
+ "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
+ "version": 1,
+ "newProjectRoot": "projects",
+ "projects": {
+ "syncfusion-component": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "",
+ "sourceRoot": "src",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "dist",
+ "index": "index.html",
+ "main": "src/main.ts",
+ "tsConfig": "tsconfig.json",
+ "styles": [
+ "src/styles.css"
+ ],
+ "assets": []
+ },
+ "configurations": {
+ "production": {
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "500kb",
+ "maximumError": "10mb"
+ },
+ {
+ "type": "anyComponentStyle",
+ "maximumWarning": "2kb",
+ "maximumError": "4kb"
+ }
+ ],
+ "outputHashing": "all"
+ },
+ "development": {
+ "buildOptimizer": false,
+ "optimization": false,
+ "vendorChunk": true,
+ "extractLicenses": false,
+ "sourceMap": true,
+ "namedChunks": true
+ }
+ },
+ "defaultConfiguration": "production"
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "configurations": {
+ "production": {
+ "buildTarget": "syncfusion-component:build:production"
+ },
+ "development": {
+ "buildTarget": "syncfusion-component:build:development"
+ }
+ },
+ "defaultConfiguration": "development"
+ }
+ }
+ }
+ },
+ "cli": {
+ "analytics": false
+ }
+}
\ No newline at end of file
diff --git a/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/index.html b/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/index.html
new file mode 100644
index 000000000..e57f94347
--- /dev/null
+++ b/Document-Processing/code-snippet/spreadsheet/angular/comment-cs1/index.html
@@ -0,0 +1,31 @@
+
+
+
+ Syncfusion Angular Spreadsheet
+
+
+
+
+
+
+
+
+
+