From 5c776f7a1a7e58986699e14561202660ba8a558f Mon Sep 17 00:00:00 2001 From: GOPINATHSF4767 Date: Thu, 24 Sep 2026 21:18:52 +0530 Subject: [PATCH] Added sample --- ...ditional-Filtering-MailMerge-with-JSON.sln | 25 +++++ .../Data/Data.json | 25 +++++ .../Data/Template.docx | Bin 0 -> 15657 bytes ...ional-Filtering-MailMerge-with-JSON.csproj | 26 +++++ .../Output/.gitkeep | 1 + .../Output/Result.docx | Bin 0 -> 13383 bytes .../Program.cs | 89 ++++++++++++++++++ 7 files changed, 166 insertions(+) create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON.sln create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Data.json create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Template.docx create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/NestedGroup-Conditional-Filtering-MailMerge-with-JSON.csproj create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/.gitkeep create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/Result.docx create mode 100644 Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Program.cs diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON.sln b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON.sln new file mode 100644 index 000000000..1caae1999 --- /dev/null +++ b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.31911.196 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NestedGroup-Conditional-Filtering-MailMerge-with-JSON", "NestedGroup-Conditional-Filtering-MailMerge-with-JSON\NestedGroup-Conditional-Filtering-MailMerge-with-JSON.csproj", "{C17B90BC-F559-456B-B189-90B53FF6CDD4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {C17B90BC-F559-456B-B189-90B53FF6CDD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C17B90BC-F559-456B-B189-90B53FF6CDD4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C17B90BC-F559-456B-B189-90B53FF6CDD4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C17B90BC-F559-456B-B189-90B53FF6CDD4}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {EF357FC6-E9E5-4E3C-B932-43F727BE1DE4} + EndGlobalSection +EndGlobal diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Data.json b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Data.json new file mode 100644 index 000000000..182337801 --- /dev/null +++ b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Data.json @@ -0,0 +1,25 @@ +{ + "User": [ + { + "name": "Syncfusion", + "ExpectedType": "All", + "SectionDisplay": "true", + "Expense": [ + { + "Type": "Reimbursement", + "InvoiceNumber": "INV-1001", + "IsPaid": "true", + "Description": "Travel reimbursement", + "Amount": 150.00, + }, + { + "Type": "Expense", + "InvoiceNumber": "INV-1002", + "IsPaid": "false", + "Description": "Hotel accommodation", + "Amount": 550.00, + } + ] + } + ] +} \ No newline at end of file diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Template.docx b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Data/Template.docx new file mode 100644 index 0000000000000000000000000000000000000000..1e7ee65539ff8c5aca5d89cad71cd740ad11b641 GIT binary patch literal 15657 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�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 + + + Exe + net8.0 + NestedGroup_MailMerge_with_JSON + + + + + + + + + + Always + + + Always + + + Always + + + + diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/.gitkeep b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/Result.docx b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Output/Result.docx new file mode 100644 index 0000000000000000000000000000000000000000..ceb07c832cfdbcfb80294fe6a5a23532b33410ea GIT binary patch literal 13383 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 literal 0 HcmV?d00001 diff --git a/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Program.cs b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Program.cs new file mode 100644 index 000000000..012b3eaa0 --- /dev/null +++ b/Mail-Merge/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/.NET/NestedGroup-Conditional-Filtering-MailMerge-with-JSON/Program.cs @@ -0,0 +1,89 @@ +using Newtonsoft.Json.Linq; +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using System.Collections.Generic; +using System.IO; +namespace NestedGroup_Conditional_Filtering_MailMerge_with_JSON +{ + class Program + { + static void Main(string[] args) + { + Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR LICENSE KEY"); + using (FileStream fileStream = new FileStream(Path.GetFullPath(@"../../../Data/Template.docx"), FileMode.Open, FileAccess.ReadWrite)) + { + //Open the template document. + using (WordDocument document = new WordDocument(fileStream, FormatType.Docx)) + { + //Get the Json data details as DataTable + List jsonData = GetJsonData(); + //Creates the mail merge data table in order to perform mail merge + MailMergeDataTable dataTable = new MailMergeDataTable("User", jsonData); + document.MailMerge.RemoveEmptyParagraphs = true; + // Perform mail merge with the prepared data table. + document.MailMerge.ExecuteNestedGroup(dataTable); + document.UpdateDocumentFields(); + //Create file stream. + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"../../../Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Save the Word document to file stream. + document.Save(outputStream, FormatType.Docx); + } + } + } + } + + #region Helper methods + /// + /// Prepares the data table from JSON data for processing. + /// + private static List GetJsonData() + { + //Reads the JSON object from JSON file. + JObject jsonObject = JObject.Parse(File.ReadAllText(Path.GetFullPath(@"Data/Data.json"))); + //Converts JSON object to Dictionary. + + + IDictionary data = GetData(jsonObject); + return data["User"] as List; + } + + /// + /// Gets data from JSON object. + /// + /// JSON object. + /// Dictionary of data. + private static IDictionary GetData(JObject jsonObject) + { + Dictionary dictionary = new Dictionary(); + foreach (var item in jsonObject) + { + object keyValue = null; + if (item.Value is JArray) + keyValue = GetData((JArray)item.Value); + else if (item.Value is JToken) + keyValue = ((JToken)item.Value).ToObject(); + dictionary.Add(item.Key, keyValue); + } + return dictionary; + } + /// + /// Gets array of items from JSON array. + /// + /// JSON array. + /// List of objects. + private static List GetData(JArray jArray) + { + List jArrayItems = new List(); + foreach (var item in jArray) + { + object keyValue = null; + if (item is JObject) + keyValue = GetData((JObject)item); + jArrayItems.Add(keyValue); + } + return jArrayItems; + } + #endregion + } +}