From 69484c23cffcc58e977080adaa498897f04bad81 Mon Sep 17 00:00:00 2001 From: VinothSF5015 Date: Tue, 26 May 2026 16:00:33 +0530 Subject: [PATCH] Sample Added --- .../Conditional_Format_Reorder.slnx | 3 + .../Conditional_Format_Reorder.csproj | 23 +++++++ .../Data/InputTemplate.xlsx | Bin 0 -> 10133 bytes .../Output/.gitkeep | 0 .../Conditional_Format_Reorder/Program.cs | 62 ++++++++++++++++++ 5 files changed, 88 insertions(+) create mode 100644 FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder.slnx create mode 100644 FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Conditional_Format_Reorder.csproj create mode 100644 FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Data/InputTemplate.xlsx create mode 100644 FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Output/.gitkeep create mode 100644 FAQ/Conditional_Format_Reorder/.NET/Conditional_Format_Reorder/Conditional_Format_Reorder/Program.cs 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 0000000000000000000000000000000000000000..e6bf907860a22920f58dd0740fe7535237335586 GIT binary patch literal 10133 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 literal 0 HcmV?d00001 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