diff --git a/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise.sln b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise.sln new file mode 100644 index 000000000..1dbd5bd63 --- /dev/null +++ b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise.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}") = "Execute-Mail-Merge-in-columnwise", "Execute-Mail-Merge-in-columnwise\Execute-Mail-Merge-in-columnwise.csproj", "{D3AF529E-DB54-4294-A876-DD42E1E472D0}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D3AF529E-DB54-4294-A876-DD42E1E472D0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3AF529E-DB54-4294-A876-DD42E1E472D0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3AF529E-DB54-4294-A876-DD42E1E472D0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3AF529E-DB54-4294-A876-DD42E1E472D0}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {58137FF9-5AE1-4514-9929-3A8A7DA1DFEB} + EndGlobalSection +EndGlobal diff --git a/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Data/Template.docx b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Data/Template.docx new file mode 100644 index 000000000..f31f99ded Binary files /dev/null and b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Data/Template.docx differ diff --git a/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Execute-Mail-Merge-in-columnwise.csproj b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Execute-Mail-Merge-in-columnwise.csproj new file mode 100644 index 000000000..85864fb30 --- /dev/null +++ b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Execute-Mail-Merge-in-columnwise.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + Execute_Mail_Merge_in_columnwise + + + + + + + + + Always + + + Always + + + + diff --git a/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Output/.gitkeep b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Program.cs b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Program.cs new file mode 100644 index 000000000..50ace6014 --- /dev/null +++ b/Mail-Merge/Execute-Mail-Merge-in-columnwise/.NET/Execute-Mail-Merge-in-columnwise/Program.cs @@ -0,0 +1,69 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using System.Data; +using System.IO; + +namespace Generate_Documents_for_each_record +{ + class Program + { + static void Main(string[] args) + { + //Open the file as Stream. + using (FileStream fileStream = new FileStream(Path.GetFullPath(@"Data/Template.docx"), FileMode.Open)) + { + //Get the data for mail merge. + DataTable table = GetDataTable(); + //Iterate to the each row and generate mail merged document for each rows. + for (int i = 0; i < table.Rows.Count; i++) + { + //Load file stream into Word document. + using (WordDocument document = new WordDocument(fileStream, FormatType.Docx)) + { + //Executes mail merge using the data row. + document.MailMerge.Execute(table.Rows[i]); + + //Create a file stream. + using (FileStream outputFileStream = new FileStream(Path.GetFullPath(@"Output/" + "Record_" + (i + 1) + ".docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Save the Word document to the file stream. + document.Save(outputFileStream, FormatType.Docx); + } + } + } + } + } + /// + /// Get the data for mail merge. + /// + /// + static DataTable GetDataTable() + { + DataTable table = new DataTable(); + + //Defining columns + table.Columns.Add("Name"); + table.Columns.Add("Street"); + table.Columns.Add("City"); + table.Columns.Add("ProjectNo"); + + //Set values + DataRow row; + row = table.NewRow(); + row["Name"] = "Andreas Waning"; + row["Street"] = "Middelwegg 2"; + row["City"] = "Vreden"; + row["ProjectNo"] = "4711"; + table.Rows.Add(row); + + row = table.NewRow(); + row["Name"] = "Mike Korf"; + row["Street"] = "teststreet"; + row["City"] = "TestCity"; + row["ProjectNo"] = "4711"; + table.Rows.Add(row); + + return table; + } + } +}