diff --git a/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture.sln b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture.sln new file mode 100644 index 000000000..979ed1cee --- /dev/null +++ b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture.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}") = "Mail-merge-date-in-German-culture", "Mail-merge-date-in-German-culture\Mail-merge-date-in-German-culture.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/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Data/Template.docx b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Data/Template.docx new file mode 100644 index 000000000..60afbffc1 Binary files /dev/null and b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Data/Template.docx differ diff --git a/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Mail-merge-date-in-German-culture.csproj b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Mail-merge-date-in-German-culture.csproj new file mode 100644 index 000000000..7d551672b --- /dev/null +++ b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Mail-merge-date-in-German-culture.csproj @@ -0,0 +1,22 @@ + + + + Exe + net8.0 + Mail_merge_date_in_German_culture + + + + + + + + + Always + + + Always + + + + diff --git a/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Output/.gitkeep b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Output/.gitkeep new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Output/.gitkeep @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Program.cs b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Program.cs new file mode 100644 index 000000000..f81ac2696 --- /dev/null +++ b/Mail-Merge/Mail-merge-date-in-German-culture/.NET/Mail-merge-date-in-German-culture/Program.cs @@ -0,0 +1,51 @@ +using Syncfusion.DocIO; +using Syncfusion.DocIO.DLS; +using System; +using System.IO; + +namespace Mail_merge_date_in_German_culture +{ + class Program + { + static void Main(string[] args) + { + using (FileStream fileStream = new FileStream(Path.GetFullPath(@"Data/Template.docx"), FileMode.Open, FileAccess.ReadWrite)) + { + //Opens the template document. + using (WordDocument document = new WordDocument(fileStream, FormatType.Docx)) + { + //Execute mail merge + string[] fieldnames = { "Name", "Date" }; + string[] fieldvalues = { "Andrew", DateTime.Now.ToString() }; + + //Hook the even to do the date format changes during mail merge + document.MailMerge.MergeField += ChangeDateLanguauge; + document.MailMerge.Execute(fieldnames, fieldvalues); + //Creates file stream. + using (FileStream outputStream = new FileStream(Path.GetFullPath(@"Output/Result.docx"), FileMode.Create, FileAccess.ReadWrite)) + { + //Saves the Word document to file stream. + document.Save(outputStream, FormatType.Docx); + } + } + } + } + + static void ChangeDateLanguauge(object sender, MergeFieldEventArgs args) + { + //Check whether date is merge for this merge field + if (args.FieldName == "Date") + { + //Get the date value + string dateValue = args.FieldValue.ToString(); + //Parse the date value + DateTime date = DateTime.Parse(dateValue); + //Convert the date value to German culture in the same date format + string formattedDate = date.ToString(args.CurrentMergeField.DateFormat, new System.Globalization.CultureInfo("de-DE")); + //Set the date value to the current merge field + args.Text = formattedDate; + + } + } + } +}