利用C#實現(xiàn)合并Word文檔功能
合并Word文檔可以快速地將多份編輯好的文檔合在一起,避免復制粘貼時遺漏內(nèi)容,以及耗費不必要的時間,同時,也方便了人們閱讀或者對其進行再次修改。例如,在我們進行團隊作業(yè)的時候,每個人都會有不同的分工,此時,每個人都需要完成自己的文檔,利用合并文件功能就可以快速地將所有內(nèi)容集合在一起,方便了對內(nèi)容的修改。本文將分為以下兩部分介紹如何通過C#合并Word文檔,并附上VB.NET代碼供大家參考。
- 通過插入完整文件來合并文檔
- 通過克隆內(nèi)容合并文檔
程序環(huán)境
本次測試時,在程序中引入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)將以下內(nèi)容復制到PM控制臺安裝。
Install-Package FreeSpire.Doc -Version 10.8.0
通過插入完整文件來合并文檔
通過插入完整文件來合并文檔的詳細步驟如下:
- 創(chuàng)建一個Document實例。
- 使用 Document.LoadFromFile() 方法加載原始 Word 文檔。
- 使用 Document.InsertTextFromFile() 方法將另一個 Word 文檔完全插入到原始文檔中。
- 使用 Document.SaveToFile() 方法保存結(jié)果文檔。
完整代碼
C#
using Spire.Doc;
namespace MergeWord
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個Document實例
Document document = new Document();
//加載原始 Word 文檔
document.LoadFromFile("文檔1.docx", FileFormat.Docx);
//插入另一個 Word 文檔到原文檔中
document.InsertTextFromFile("文檔2.docx", FileFormat.Docx);
//保存結(jié)果文檔
document.SaveToFile("合并Word文檔.docx", FileFormat.Docx);
}
}
}VB.NET
Imports Spire.Doc
Namespace MergeWord
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'創(chuàng)建一個Document實例
Dim document As Document = New Document()
'加載原始 Word 文檔
document.LoadFromFile("文檔1.docx", FileFormat.Docx)
'插入另一個 Word 文檔到原文檔中
document.InsertTextFromFile("文檔2.docx", FileFormat.Docx)
'保存結(jié)果文檔
document.SaveToFile("合并Word文檔.docx", FileFormat.Docx)
End Sub
End Class
End Namespace效果圖

通過克隆內(nèi)容合并文檔
通過克隆內(nèi)容合并文檔的具體步驟如下:
- 加載兩個 Word 文檔。
- 循環(huán)遍歷第二個文檔中的所有節(jié), 然后循環(huán)遍歷每個節(jié)下的子對象,獲取特定的子對象,準備插入第一個文檔。
- 使用 Document.LastSection 屬性獲取第一個文檔的最后一個節(jié),然后使用 LastSection.Body.ChildObjects.Add() 方法將子對象添加到第一個文檔的最后一個節(jié)。
- 使用 Document.SaveToFile() 方法保存結(jié)果文檔。
完整代碼
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");
//循環(huán)遍歷第二個文檔以獲取所有節(jié)
foreach (Section section in doc2.Sections)
{
//遍歷第二個文檔的各個節(jié)以獲取它們的子對象
foreach (DocumentObject obj in section.Body.ChildObjects)
{
//獲取第一個文檔的最后一節(jié)
Section lastSection = doc1.LastSection;
//將所有子對象添加到第一個文檔的最后一節(jié)
lastSection.Body.ChildObjects.Add(obj.Clone());
}
}
//保存結(jié)果文檔
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")
'循環(huán)遍歷第二個文檔以獲取所有節(jié)
For Each section As Section In doc2.Sections
'遍歷第二個文檔的各個節(jié)以獲取它們的子對象
For Each obj As DocumentObject In section.Body.ChildObjects
'獲取第一個文檔的最后一節(jié)
Dim lastSection As Section = doc1.LastSection
'將所有子對象添加到第一個文檔的最后一節(jié)
lastSection.Body.ChildObjects.Add(obj.Clone())
Next
Next
'保存結(jié)果文檔
doc1.SaveToFile("合并文檔.docx", FileFormat.Docx)
End Sub
End Class
End Namespace效果圖

到此這篇關(guān)于利用C#實現(xiàn)合并Word文檔功能的文章就介紹到這了,更多相關(guān)C#合并Word文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#編程報錯System.InvalidOperationException問題及解決
這篇文章主要介紹了C#編程報錯System.InvalidOperationException問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
基于數(shù)據(jù)類型轉(zhuǎn)換(裝箱與拆箱)與常量詳解
下面小編就為大家分享一篇基于數(shù)據(jù)類型轉(zhuǎn)換(裝箱與拆箱)與常量詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11
C# Entity Framework中的IQueryable和IQueryProvider詳解
這篇文章主要介紹了C# Entity Framework中的IQueryable和IQueryProvider詳解,本文使用實例分析這兩個接口的內(nèi)部實現(xiàn),需要的朋友可以參考下2015-01-01
Unity UGUI的ToggleGroup選項組件介紹使用
這篇文章主要為大家介紹了Unity UGUI的ToggleGroup選項組件介紹使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
詳解.NET 4.0中的泛型協(xié)變(covariant)和反變(contravariant)
這篇文章主要介紹了詳解.NET 4.0中的泛型協(xié)變(covariant)和反變(contravariant),本文講解了協(xié)變和反變的背景知識、.NET 4.0引入的泛型協(xié)變、反變性、協(xié)變和反變的相互作用等內(nèi)容,需要的朋友可以參考下2015-06-06
unity 文件流讀取圖片與www讀取圖片的區(qū)別介紹
這篇文章主要介紹了unity 文件流讀取圖片與www讀取圖片的對比分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04

