利用C#实现合并Word文档功能

目录
  • 程序环境
  • 通过插入完整文件来合并文档
    • 完整代码
    • 效果图
  • 通过克隆内容合并文档
    • 完整代码
    • 效果图

合并Word文档可以快速地将多份编辑好的文档合在一起,避免复制粘贴时遗漏内容,以及耗费不必要的时间,同时,也方便了人们阅读或者对其进行再次修改。例如,在我们进行团队作业的时候,每个人都会有不同的分工,此时,每个人都需要完成自己的文档,利用合并文件功能就可以快速地将所有内容集合在一起,方便了对内容的修改。本文将分为以下两部分介绍如何通过C#合并Word文档,并附上VB.NET代码供大家参考。

  • 通过插入完整文件来合并文档
  • 通过克隆内容合并文档

程序环境

本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用 Free Spire.Doc.dll文件:

方法1:将 Free Spire.Doc for .NET下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的 Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。

方法2:通过NuGet安装。可通过以下2种方法安装:

(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。

(2)将以下内容复制到PM控制台安装。

Install-Package FreeSpire.Doc -Version 10.8.0

通过插入完整文件来合并文档

通过插入完整文件来合并文档的详细步骤如下:

  • 创建一个Document实例。
  • 使用 Document.LoadFromFile() 方法加载原始 Word 文档。
  • 使用 Document.InsertTextFromFile() 方法将另一个 Word 文档完全插入到原始文档中。
  • 使用 Document.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Doc;

namespace MergeWord
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Document实例
            Document document = new Document();

            //加载原始 Word 文档
            document.LoadFromFile("文档1.docx", FileFormat.Docx);

            //插入另一个 Word 文档到原文档中
            document.InsertTextFromFile("文档2.docx", FileFormat.Docx);

            //保存结果文档
            document.SaveToFile("合并Word文档.docx", FileFormat.Docx);
        }
    }
}

VB.NET

Imports Spire.Doc

Namespace MergeWord
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '创建一个Document实例
            Dim document As Document = New Document()

            '加载原始 Word 文档
            document.LoadFromFile("文档1.docx", FileFormat.Docx)

            '插入另一个 Word 文档到原文档中
            document.InsertTextFromFile("文档2.docx", FileFormat.Docx)

            '保存结果文档
            document.SaveToFile("合并Word文档.docx", FileFormat.Docx)
        End Sub
    End Class
End Namespace

效果图

通过克隆内容合并文档

通过克隆内容合并文档的具体步骤如下:

  • 加载两个 Word 文档。
  • 循环遍历第二个文档中的所有节, 然后循环遍历每个节下的子对象,获取特定的子对象,准备插入第一个文档。
  • 使用 Document.LastSection 属性获取第一个文档的最后一个节,然后使用 LastSection.Body.ChildObjects.Add() 方法将子对象添加到第一个文档的最后一个节。
  • 使用 Document.SaveToFile() 方法保存结果文档。

完整代码

C#

using Spire.Doc;

namespace MergeWord
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载两个 Word 文档
            Document doc1 = new Document("文档1.docx");
            Document doc2 = new Document("文档2.docx");

            //循环遍历第二个文档以获取所有节
            foreach (Section section in doc2.Sections)
            {

                //遍历第二个文档的各个节以获取它们的子对象
                foreach (DocumentObject obj in section.Body.ChildObjects)
                {

                    //获取第一个文档的最后一节
                    Section lastSection = doc1.LastSection;

                    //将所有子对象添加到第一个文档的最后一节
                    lastSection.Body.ChildObjects.Add(obj.Clone());
                }
            }

            //保存结果文档
            doc1.SaveToFile("合并文档.docx", FileFormat.Docx);
        }
    }
}

VB.NET

Imports Spire.Doc

Namespace MergeWord
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '加载两个 Word 文档
            Dim doc1 As Document = New Document("文档1.docx")
            Dim doc2 As Document = New Document("文档2.docx")

            '循环遍历第二个文档以获取所有节
            For Each section As Section In doc2.Sections

                '遍历第二个文档的各个节以获取它们的子对象
                For Each obj As DocumentObject In section.Body.ChildObjects

                    '获取第一个文档的最后一节
                    Dim lastSection As Section = doc1.LastSection

                    '将所有子对象添加到第一个文档的最后一节
                    lastSection.Body.ChildObjects.Add(obj.Clone())
                Next
            Next

            '保存结果文档
            doc1.SaveToFile("合并文档.docx", FileFormat.Docx)
        End Sub
    End Class
End Namespace

效果图

到此这篇关于利用C#实现合并Word文档功能的文章就介绍到这了,更多相关C#合并Word文档内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • C#实现简单合并word文档的方法

    本文实例讲述了C#实现简单合并word文档的方法.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Reflection; namespace Demo { p

  • C#实现合并多个word文档的方法

    本文实例讲述了C#实现合并多个word文档的方法,是非常具有实用价值的技巧.分享给大家供大家参考. 具体实现方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.Office.Interop.Word; using System.Reflection; using System.IO; using System.Diagnostics;

  • 利用C#实现合并Word文档功能

    目录 程序环境 通过插入完整文件来合并文档 完整代码 效果图 通过克隆内容合并文档 完整代码 效果图 合并Word文档可以快速地将多份编辑好的文档合在一起,避免复制粘贴时遗漏内容,以及耗费不必要的时间,同时,也方便了人们阅读或者对其进行再次修改.例如,在我们进行团队作业的时候,每个人都会有不同的分工,此时,每个人都需要完成自己的文档,利用合并文件功能就可以快速地将所有内容集合在一起,方便了对内容的修改.本文将分为以下两部分介绍如何通过C#合并Word文档,并附上VB.NET代码供大家参考. 通过

  • spring boot实现自动输出word文档功能的实例代码

    spring boot实现自动输出word文档功能 本文用到Apache POI组件 组件依赖在pom.xml文件中添加 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.1.0</version> </dependency> <dependency> <groupId&

  • python实现的生成word文档功能示例

    本文实例讲述了python实现的生成word文档功能.分享给大家供大家参考,具体如下: 每月1次的测试费用报销,需要做一个文档.干脆花点时间写个程序吧. # -*- coding: utf-8 -*- from tools import get_data from docx import Document def new_doc(fee_data,doc_path,fee):#新建一个word文档,写入汇总表的数据 document = Document() p_total = document

  • Java实现合并word文档的示例代码

    目录 说明 实现 1.首先定义好主文档 2.定义需要追加的文档 3. 代码实现 4. 成果展示 说明 在做项目中,遇到了一种情况,需要将一个小word文档的内容插入到一个大word(主文档)中. 实现 1.首先定义好主文档 在主文档需要插入小word文档的位置上添加一个书签,这个书签名字要记住,后面要用. 2.定义需要追加的文档 3. 代码实现 package com.test.word; import com.aspose.words.Body; import com.aspose.words

  • QT实战之打开最近文档功能的实现

    目录 一.项目介绍 二.项目基本配置 三.UI界面设置 四.主程序实现 4.1 mainwindow.h头文件 4.2 mainwindow.cpp源文件 4.3 main.cpp 五.效果演示 一.项目介绍 本文介绍利用Qt实现打开最近文档功能,并实现基本的新建.打开.保存.退出.帮助等功能. 二.项目基本配置 新建一个Qt案例,项目名称为“RecentTest”,基类选择“QMainWindow”,取消选中创建UI界面复选框,完成项目创建. 三.UI界面设置 无UI界面 四.主程序实现 4.

  • 利用Aspose.Word控件实现Word文档的操作

    Aspose系列的控件,功能都挺好,之前一直在我的Winform开发框架中用Aspose.Cell来做报表输出,可以实现多样化的报表设计及输出,由于一般输出的内容比较正规化或者多数是表格居多,所以一般使用Aspose.Cell来实现我想要的各种Excel报表输出.虽然一直也知道Aspose.Word是用来生成Word文档的,而且深信其也是一个很强大的控件,但一直没用用到,所以就不是很熟悉. 偶然一次机会,一个项目的报表功能指定需要导出为Word文档,因此寻找了很多篇文章,不过多数介绍的比较简单一

  • 用python将word文档合并实例代码

    目录 背景: 设计思路: 脚本环境说明: 完整代码: 功能执行效果图: 总结: 背景:         由于工作需要,现在有这么一个需求,要合并大量的word文档,而且要在不同的目录下找到同一个人的word文档,进行合并,最终输出一个合并后的word文档.一般来说几个或者十几个量不多的话,就手工合并一下好了,但现在这个量是真的大.目录有十多个,每个目录又有50多个不同人的word文档,而且同一个人在不同目录下又不一定都有word文档,因此,整个合并工作就出现了人工操作的困难: 工作量多:容易疏漏

  • 利用Java Apache POI 生成Word文档示例代码

    最近公司做的项目需要实现导出Word文档的功能,网上关于POI生成Word文档的例子很少,找了半天才在官网里找到个Demo,有了Demo一切就好办了. /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See

  • asp.net实现word文档在线预览功能的方法

    本文实例讲述了asp.net实现word文档在线预览功能的方法.分享给大家供大家参考.具体实现方法如下: 实现方式:office文档转html,再在浏览器里面在线浏览 1.首先引入com组件中office库,然后在程序集扩展中引入word的dll 2.将Microsoft.Office.Interop.Word的嵌入互操作类型设置为 false,如图 3.主要代码: 复制代码 代码如下: using System; using System.Collections.Generic; using

随机推荐