一是復制合并;
一是插入合并,即將多個文檔按照先后順序合并到另一個文檔中.

代碼如下:using System;
using Sys " /> 国产高清毛片,免费福利小视频,国产电影一区二区

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

用C#編程合并多個WORD文檔

今天因為客戶需要,需要將多個WORD文檔合并成為一個WORD文檔。其中,對WORD文檔的合并方式分兩種形式:
一是復制合并;
一是插入合并,即將多個文檔按照先后順序合并到另一個文檔中.

代碼如下:

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Word;
using System.Reflection;
using System.IO;
using System.Diagnostics;
namespace Eipsoft.Common
{
///
/// Word文檔合并類
///
public class WordDocumentMerger
{
private ApplicationClass objApp = null;
private Document objDocLast = null;
private Document objDocBeforeLast = null;
public WordDocumentMerger()
{
objApp
= new ApplicationClass();
}
#region 打開文件
private void Open(string tempDoc)
{
object objTempDoc = tempDoc;
object objMissing = System.Reflection.Missing.Value;

objDocLast
= objApp.Documents.Open(
ref objTempDoc, //FileName
ref objMissing, //ConfirmVersions
ref objMissing, //ReadOnly
ref objMissing, //AddToRecentFiles
ref objMissing, //PasswordDocument
ref objMissing, //PasswordTemplate
ref objMissing, //Revert
ref objMissing, //WritePasswordDocument
ref objMissing, //WritePasswordTemplate
ref objMissing, //Format
ref objMissing, //Enconding
ref objMissing, //Visible
ref objMissing, //OpenAndRepair
ref objMissing, //DocumentDirection
ref objMissing, //NoEncodingDialog
ref objMissing //XMLTransform
);

objDocLast.Activate();
}
#endregion

#region 保存文件到輸出模板
private void SaveAs(string outDoc)
{
object objMissing = System.Reflection.Missing.Value;
object objOutDoc = outDoc;
objDocLast.SaveAs(
ref objOutDoc, //FileName
ref objMissing, //FileFormat
ref objMissing, //LockComments
ref objMissing, //PassWord
ref objMissing, //AddToRecentFiles
ref objMissing, //WritePassword
ref objMissing, //ReadOnlyRecommended
ref objMissing, //EmbedTrueTypeFonts
ref objMissing, //SaveNativePictureFormat
ref objMissing, //SaveFormsData
ref objMissing, //SaveAsAOCELetter,
ref objMissing, //Encoding
ref objMissing, //InsertLineBreaks
ref objMissing, //AllowSubstitutions
ref objMissing, //LineEnding
ref objMissing //AddBiDiMarks
);
}
#endregion

#region 循環合并多個文件(復制合并重復的文件)
///
/// 循環合并多個文件(復制合并重復的文件)
///
/// 模板文件
/// 需要合并的文件
/// 合并后的輸出文件
public void CopyMerge(string tempDoc, string[] arrCopies, string outDoc)
{
object objMissing = Missing.Value;
object objFalse = false;
object objTarget = WdMergeTarget.wdMergeTargetSelected;
object objUseFormatFrom = WdUseFormattingFrom.wdFormattingFromSelected;
try
{
//打開模板文件
Open(tempDoc);
foreach (string strCopy in arrCopies)
{
objDocLast.Merge(
strCopy,
//FileName
ref objTarget, //MergeTarget
ref objMissing, //DetectFormatChanges
ref objUseFormatFrom, //UseFormattingFrom
ref objMissing //AddToRecentFiles
);
objDocBeforeLast
= objDocLast;
objDocLast
= objApp.ActiveDocument;
if (objDocBeforeLast != null)
{
objDocBeforeLast.Close(
ref objFalse, //SaveChanges
ref objMissing, //OriginalFormat
ref objMissing //RouteDocument
);
}
}
//保存到輸出文件
SaveAs(outDoc);
foreach (Document objDocument in objApp.Documents)
{
objDocument.Close(
ref objFalse, //SaveChanges
ref objMissing, //OriginalFormat
ref objMissing //RouteDocument
);
}
}
finally
{
objApp.Quit(
ref objMissing, //SaveChanges
ref objMissing, //OriginalFormat
ref objMissing //RoutDocument
);
objApp
= null;
}
}
///
/// 循環合并多個文件(復制合并重復的文件)
///
/// 模板文件
/// 需要合并的文件
/// 合并后的輸出文件
public void CopyMerge(string tempDoc, string strCopyFolder, string outDoc)
{
string[] arrFiles = Directory.GetFiles(strCopyFolder);
CopyMerge(tempDoc, arrFiles, outDoc);
}
#endregion

#region 循環合并多個文件(插入合并文件)
///
/// 循環合并多個文件(插入合并文件)
///
/// 模板文件
/// 需要合并的文件
/// 合并后的輸出文件
public void InsertMerge(string tempDoc, string[] arrCopies, string outDoc)
{
object objMissing = Missing.Value;
object objFalse = false;
object confirmConversion = false;
object link = false;
object attachment = false;
try
{
//打開模板文件
Open(tempDoc);
foreach (string strCopy in arrCopies)
{
objApp.Selection.InsertFile(
strCopy,
ref objMissing,
ref confirmConversion,
ref link,
ref attachment
);
}
//保存到輸出文件
SaveAs(outDoc);
foreach (Document objDocument in objApp.Documents)
{
objDocument.Close(
ref objFalse, //SaveChanges
ref objMissing, //OriginalFormat
ref objMissing //RouteDocument
);
}
}
finally
{
objApp.Quit(
ref objMissing, //SaveChanges
ref objMissing, //OriginalFormat
ref objMissing //RoutDocument
);
objApp
= null;
}
}
///
/// 循環合并多個文件(插入合并文件)
///
/// 模板文件
/// 需要合并的文件
/// 合并后的輸出文件
public void InsertMerge(string tempDoc, string strCopyFolder, string outDoc)
{
string[] arrFiles = Directory.GetFiles(strCopyFolder);
InsertMerge(tempDoc, arrFiles, outDoc);
}
#endregion
}
}

NET技術用C#編程合并多個WORD文檔,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品久久久蜜桃 | 久久夜视频 | 99热这里只有精品8 激情毛片 | 干干天天 | 99亚洲 | 久久四虎 | 中文字幕在线观看国产 | 国产一区久久 | 亚州国产 | 天天插天天操 | 精品1区2区3区 | 亚洲精久 | 一区二区三区在线观看免费视频 | 免费精品 | 日韩亚洲视频 | 九九热精品视频 | 精品久久久久久 | 国产一区 | 天堂网av在线 | 精品国产一区久久 | 日韩一区二区三区在线观看 | 亚洲国产成人精品久久久国产成人一区 | 日日操操| 久久久久亚洲 | 99国产视频 | 欧美日韩电影免费观看 | 91看片官网 | 中文字幕国产 | 欧美日韩国产一区二区三区 | 91精品国产综合久久精品 | 在线播放中文字幕 | 本道综合精品 | 亚洲毛片 | 日韩av大片免费看 | 国产91丝袜在线播放 | 亚洲欧美国产精品久久 | 最新中文字幕在线 | 国产色网 | 国产精品亚洲成在人线 | 日本一道本视频 | 成人黄在线观看 |