Articles in this section
Category / Section

How to merge multiple Word documents in C#, VB.NET

2 mins read

Syncfusion Essential DocIO is a .NET Word library used to create, read, and edit Word documents programmatically without Microsoft Word or interop dependencies. Using this library, you can merge multiple Word documents in C# and VB.NET.

Steps to merge multiple Word documents programmatically in C#:

  1. Create a new C# console application project.

Create Console application in Visual Studio

  1. Install Syncfusion.DocIO.WinForms NuGet package as a reference to your .NET Framework applications from the NuGet.org.

Add DocIO NuGet package reference to the project

  1. Include the following namespace in the Program.cs file.

C#

using Syncfusion.DocIO.DLS;
using System.IO;

VB

Imports Syncfusion.DocIO.DLS
Imports System.IO
  1. Use the following code snippet to merge multiple Word documents into single Word document.

C#

//Opens the main document.
using (WordDocument mainDocument = new WordDocument(@"../../MainDocument.docx"))
{
    //Gets the Word document names from a folder.
    string[] subDocumentNames = Directory.GetFiles(@"../../Data/");
    //Merges each Word document to the main document.
    foreach (string subDocumentName in subDocumentNames)
    {
        //Opens the sub document.
        using (WordDocument subDocument = new WordDocument(subDocumentName))
        {
            //Imports the contents of sub document at the end of main document.
            mainDocument.ImportContent(subDocument);
        }
    }
    //Saves the main document.
    mainDocument.Save("Result.docx");
}

VB

'Opens the main document.
Using mainDocument As WordDocument = New WordDocument("../../MainDocument.docx")
    'Gets the Word document names from a folder.
    Dim subDocumentNames = Directory.GetFiles("../../Data/")
    'Merges each Word document to the main document.
    For Each subDocumentName In subDocumentNames
        'Opens the sub document.
        Using subDocument As WordDocument = New WordDocument(subDocumentName)
            'Imports the contents of sub document at the end of main document.
            mainDocument.ImportContent(subDocument)
        End Using
    Next
    'Saves the main document.
    mainDocument.Save("Result.docx")
End Using

A complete working example to merge multiple Word documents using C# can be downloaded from Merge-multiple-Word-documents.zip.

By executing the application, you will get the output Word document as follows. Merged multiple Word documents in C# using DocIO

Take a moment to peruse the documentation, where you can find basic Word document processing options along with features like mail merge, merge and split documents, find and replace text in the Word document, protect the Word documents, and most importantly PDF and Image conversions with code examples.

Explore more about the rich set of Syncfusion Word Framework features.

An online example to merge Word documents.

Note:

Starting with v16.2.0.x, if you reference Syncfusion assemblies from trial setup or from the NuGet feed, include a license key in your projects. Refer to link to learn about generating and registering Syncfusion license key in your application to use the components without trail message.

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied