长论文或研究报告通常由多人协作完成。为了节省时间,每个人可以在单独的文档中处理分配给他们的部分,然后在完成编辑后将这些文档合并为一个 Word 文档。相比手动将内容从一个 Word 文档复制粘贴到另一个 Word 文档,以编程方式合并 Word 文档更加节省时间。本文将介绍如何使用 Spire.Doc for .NET 以编程方式合并 Word 文档。
安装 Spire.Doc for .NET
首先,您需要添加 Spire.Doc for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。
PM> Install-Package Spire.Doc
通过插入完整文件来合并文档
Spire.Doc for .NET 提供的 Document.InsertTextFromFile() 方法允许通过将其他文档完全插入文档来合并 Word 文档。使用此方法,插入文档的内容将从新的一页开始。详细步骤如下:
- 创建一个Document实例。
- 使用 Document.LoadFromFile() 方法加载原始 Word 文档。
- 使用 Document.InsertTextFromFile() 方法将另一个 Word 文档完全插入到原始文档中。
- 使用 Document.SaveToFile() 方法保存结果文档。
- C#
- VB.NET
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);
}
}
}
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#
- VB.NET
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);
}
}
}
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
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。