diff --git a/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder.slnx b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder.slnx
new file mode 100644
index 00000000..b090eafe
--- /dev/null
+++ b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder.slnx
@@ -0,0 +1,3 @@
+
+
+
diff --git a/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Conditional_Format_Reorder.csproj b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Conditional_Format_Reorder.csproj
new file mode 100644
index 00000000..9911aad6
--- /dev/null
+++ b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Conditional_Format_Reorder.csproj
@@ -0,0 +1,23 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+
+
+
+
+
+
+
+
+ Always
+
+
+ Always
+
+
+
+
diff --git a/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Data/InputTemplate.xlsx b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Data/InputTemplate.xlsx
new file mode 100644
index 00000000..e6bf9078
Binary files /dev/null and b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Data/InputTemplate.xlsx differ
diff --git a/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Output/.gitkeep b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Output/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Program.cs b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Program.cs
new file mode 100644
index 00000000..ded2c035
--- /dev/null
+++ b/FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Program.cs
@@ -0,0 +1,62 @@
+using Syncfusion.XlsIO;
+
+using Syncfusion.XlsIO.Implementation;
+using System.Reflection;
+
+class Program
+{
+ static void Main(string[] args)
+ {
+ using (ExcelEngine excelEngine = new ExcelEngine())
+ {
+ //Instantiate the Excel application object
+ IApplication application = excelEngine.Excel;
+
+ //Assigns default application version
+ application.DefaultVersion = ExcelVersion.Xlsx;
+
+ //A new workbook is created equivalent to creating a new workbook in Excel
+ //Create a workbook with 1 worksheet
+ IWorkbook workbook = application.Workbooks.Open(Path.GetFullPath(@"Data/InputTemplate.xlsx"));
+
+ //Access first worksheet from the workbook
+ IWorksheet worksheet = workbook.Worksheets[0];
+
+ IConditionalFormats conditionalFormats = worksheet["B3"].ConditionalFormats;
+ List conditionalformats = GetSortedConditionalFormats(conditionalFormats);
+
+ for (int i = 0; i < conditionalformats.Count; i++)
+ {
+ IConditionalFormat format = conditionalformats[i];
+ Console.WriteLine(format.FirstFormula);
+ }
+
+ //Saving the workbook
+ workbook.SaveAs(Path.GetFullPath(@"Output/Output.xlsx"));
+ }
+ }
+ static List GetSortedConditionalFormats(IConditionalFormats conditionalFormats)
+ {
+ List result = new List();
+
+ //Reflection
+ MethodInfo getConditionMethod = typeof(ConditionalFormatWrapper).GetMethod("GetCondition", BindingFlags.Instance | BindingFlags.NonPublic);
+ PropertyInfo priorityProp = typeof(ConditionalFormatImpl).GetProperty("Priority", BindingFlags.Instance | BindingFlags.NonPublic);
+
+ for (int i = 0; i < conditionalFormats.Count; i++)
+ {
+ IConditionalFormat format = conditionalFormats[i];
+ ConditionalFormatImpl impl = format as ConditionalFormatImpl;
+
+ if (impl == null && format is ConditionalFormatWrapper wrapper)
+ {
+ impl = getConditionMethod.Invoke(wrapper, null) as ConditionalFormatImpl;
+ }
+ if (impl != null)
+ {
+ result.Add(impl);
+ }
+ }
+ return result.OrderBy(f => (int)priorityProp.GetValue(f)).ToList();
+ }
+}
\ No newline at end of file