C# 如何拆分、合并Word文档
出于方便文档管理、存储、传输等目的,我们常会想要将某些文档进行拆分或者合并。在本文中,将介绍对Word文档进行拆分合并的方法。在C#语言环境中执行以上操作方法需要借助于组件Free Spire.Doc,使用该组件需要先进行安装,完成后在项目程序中添加引用Spire.Doc.dll,并添加到命名空间。下面将对拆分、合并Word文档作详细阐述。
一、合并Word文档
(一)以新建一页合并到文档
C#
using Spire.Doc;
namespaceMergeWord_Doc
{
classProgram
{
staticvoid Main(string[] args)
{
//创建两个文档,加载需要合并的文件
Document doc1 = newDocument(@"C:\Users\Administrator\Desktop\TradeNegotiation.docx");
Document doc2 = newDocument(@"C:\Users\Administrator\Desktop\DisputeSettlement.docx");
//调用InsertTextFromFile()方法,将文档2合并到文档1
stringfileName = @"C:\Users\Administrator\Desktop\DisputeSettlement.docx";
doc1.InsertTextFromFile(fileName, FileFormat.Docx2013);
//保存文件
doc1.SaveToFile("MergedDocument.docx", FileFormat.Docx2013);
}
}
}
调试运行该项目,生成文件,如下图所示:
(一)紧接上文合并到文档
C#
using Spire.Doc;
usingSpire.Doc.Documents;
namespace MergeWord2_Doc
{
classProgram
{
staticvoid Main(string[] args)
{
//创建两个文档,并加载需要合并的两个文件
Document doc1 = newDocument(@"C:\Users\Administrator\Desktop\TradeNegotiation.docx");
Document doc2 = newDocument(@"C:\Users\Administrator\Desktop\DisputeSettlement.docx");
//获取文档1的最后一个Section
SectionlastSection = doc1.LastSection;
//遍历文档2中的所有section,复制所有section到文档1
foreach (Sectionsectionin doc2.Sections)
{
foreach (Paragraphparagraphinsection.Paragraphs)
{
lastSection.Paragraphs.Add(paragraph.Clone() asParagraph);
}
}
//将合并的文档另存为一个新文档
doc1.SaveToFile("Merged.docx", FileFormat.Docx2013);
}
}
}
合并效果:
二、拆分Word文档
(一)按分节符拆分
C#
using Spire.Doc;
using System;
namespaceSplitWord_Doc
{
classProgram
{
staticvoid Main(string[] args)
{
//创建一个Document类对象,并加载需要拆分的文档
Documentdocument = newDocument();
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
//实例化Document对象
DocumentnewWord;
//遍历文档所有section,复制文档每个section并分别保存到新建的文档,同时将拆分的文档保存到指定路径
for (inti = 0; i
= 0)
{
section.Paragraphs[0].ChildObjects.RemoveAt(i);
i--;
}
}
}
}
}
//若对象为
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
格,则添加表格对象到新文档
if (objisTable)
{
section.Body.ChildObjects.Add(obj.Clone());
}
}
}
//拆分后的新文档保存至指定文档
newWord.SaveToFile(String.Format("results/out-{0}.docx", index), FileFormat.Docx);
}
}
}
拆分效果:
本文完。
继续阅读