出于方便文檔管理、存儲(chǔ)、傳輸?shù)饶康?,我們常?huì)想要將某些文檔拆分為多個(gè)子文檔,或者將多個(gè)文檔合并為一個(gè)文檔。在本文中,將介紹對(duì)Word文檔進(jìn)行拆分、合并的方法。下面的示例中將包含以下要點(diǎn):
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序設(shè)計(jì)、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。一、合并Word文檔
(一)以新建一頁合并到文檔
【C#】
using Spire.Doc;
namespace MergeWord_Doc
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建兩個(gè)文檔,加載需要合并的文件
Document doc1 = new Document(@"C:\Users\Administrator\Desktop\TradeNegotiation.docx");
Document doc2 = new Document(@"C:\Users\Administrator\Desktop\DisputeSettlement.docx");
//調(diào)用InsertTextFromFile()方法,將文檔2合并到文檔1
string fileName = @"C:\Users\Administrator\Desktop\DisputeSettlement.docx";
doc1.InsertTextFromFile(fileName, FileFormat.Docx2013);
//保存文件
doc1.SaveToFile("MergedDocument.docx", FileFormat.Docx2013);
}
}
}
調(diào)試運(yùn)行該項(xiàng)目,生成文件,如下圖所示:
(二)緊接上文合并到文檔
【C#】
using Spire.Doc;
using Spire.Doc.Documents;
namespace MergeWord2_Doc
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建兩個(gè)文檔,并加載需要合并的兩個(gè)文件
Document doc1 = new Document(@"C:\Users\Administrator\Desktop\TradeNegotiation.docx");
Document doc2 = new Document(@"C:\Users\Administrator\Desktop\DisputeSettlement.docx");
//獲取文檔1的最后一個(gè)Section
Section lastSection = doc1.LastSection;
//遍歷文檔2中的所有section,復(fù)制所有section到文檔1
foreach (Section section in doc2.Sections)
{
foreach (Paragraph paragraph in section.Paragraphs)
{
lastSection.Paragraphs.Add(paragraph.Clone() as Paragraph);
}
}
//將合并的文檔另存為一個(gè)新文檔
doc1.SaveToFile("Merged.docx", FileFormat.Docx2013);
}
}
}
合并效果:
二、拆分Word文檔
(一)按分節(jié)符拆分
【C#】
using Spire.Doc;
using System;
namespace SplitWord_Doc
{
class Program
{
static void Main(string[] args)
{
//創(chuàng)建一個(gè)Document類對(duì)象,并加載需要拆分的文檔
Document document = new Document();
document.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.docx");
//實(shí)例化Document對(duì)象
Document newWord;
//遍歷文檔所有section,復(fù)制文檔每個(gè)section并分別保存到新建的文檔,同時(shí)將拆分的文檔保存到指定路徑
for (int i = 0; i < document.Sections.Count; i++)
{
newWord = new Document();
newWord.Sections.Add(document.Sections[i].Clone());
newWord.SaveToFile(String.Format(@"results\out_{0}.docx", i));
}
}
}
}
拆分效果:
(二)按分頁符拆分
【C#】
using System;
using Spire.Doc;
using Spire.Doc.Documents;
namespace Split_Word_Document_by_Page_Break
{
class Program
{
static void Main(string[] args)
{
//實(shí)例化一個(gè)Document類,加載文檔
Document original = new Document();
original.LoadFromFile(@"C:\Users\Administrator\Desktop\test.docx");
//實(shí)例化Document類對(duì)象,并添加section
Document newWord = new Document();
Section section = newWord.AddSection();
//根據(jù)分頁來拆分文檔
int index = 0;
//遍歷文檔所有section
foreach (Section sec in original.Sections)
{
//遍歷文檔所有子對(duì)象
foreach (DocumentObject obj in sec.Body.ChildObjects)
{
if (obj is Paragraph)
{
Paragraph para = obj as Paragraph;
//復(fù)制并添加原有段落對(duì)象到新文檔
section.Body.ChildObjects.Add(para.Clone());
//遍歷所有段落子對(duì)象
foreach (DocumentObject parobj in para.ChildObjects)
{
if (parobj is Break && (parobj as Break).BreakType == BreakType.PageBreak)
{
//獲取段落分頁并移除,保存新文檔到文件夾
int i = para.ChildObjects.IndexOf(parobj);
section.Body.LastParagraph.ChildObjects.RemoveAt(i);
newWord.SaveToFile(String.Format("results/out-{0}.docx", index), FileFormat.Docx);
index++;
//實(shí)例化Document類對(duì)象,添加section,將原文檔段落的子對(duì)象復(fù)制到新文檔
newWord = new Document();
section = newWord.AddSection();
section.Body.ChildObjects.Add(para.Clone());
if (section.Paragraphs[0].ChildObjects.Count == 0)
{
//移除第一個(gè)空白段落
section.Body.ChildObjects.RemoveAt(0);
}
else
{
//刪除分頁符前的子對(duì)象
while (i >= 0)
{
section.Paragraphs[0].ChildObjects.RemoveAt(i);
i--;
}
}
}
}
}
//若對(duì)象為表格,則添加表格對(duì)象到新文檔
if (obj is Table)
{
section.Body.ChildObjects.Add(obj.Clone());
}
}
}
//拆分后的新文檔保存至指定文檔
newWord.SaveToFile(String.Format("results/out-{0}.docx", index), FileFormat.Docx);
}
}
}
拆分效果:
閱讀結(jié)束。
如需轉(zhuǎn)載,請注明出處!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享標(biāo)題:C#如何合并、拆分Word文檔-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://jinyejixie.com/article12/djsidc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、關(guān)鍵詞優(yōu)化、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容