中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#中怎么合并多個WORD文檔

發布時間:2021-07-08 15:36:47 來源:億速云 閱讀:464 作者:Leah 欄目:編程語言

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  {      /// <summary>      /// Word文檔合并類      /// </summary>      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 循環合并多個文件(復制合并重復的文件)          /// <summary>          /// 循環合并多個文件(復制合并重復的文件)          /// </summary>          /// <param name="tempDoc">模板文件</param>          /// <param name="arrCopies">需要合并的文件</param>          /// <param name="outDoc">合并后的輸出文件</param>          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;              }          }          /// <summary>          /// 循環合并多個文件(復制合并重復的文件)          /// </summary>          /// <param name="tempDoc">模板文件</param>          /// <param name="arrCopies">需要合并的文件</param>          /// <param name="outDoc">合并后的輸出文件</param>          public void CopyMerge(string tempDoc, string strCopyFolder, string outDoc)          {              string[] arrFiles = Directory.GetFiles(strCopyFolder);              CopyMerge(tempDoc, arrFiles, outDoc);          }          #endregion           #region 循環合并多個文件(插入合并文件)          /// <summary>          /// 循環合并多個文件(插入合并文件)          /// </summary>          /// <param name="tempDoc">模板文件</param>          /// <param name="arrCopies">需要合并的文件</param>          /// <param name="outDoc">合并后的輸出文件</param>          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;              }          }          /// <summary>          /// 循環合并多個文件(插入合并文件)          /// </summary>          /// <param name="tempDoc">模板文件</param>          /// <param name="arrCopies">需要合并的文件</param>          /// <param name="outDoc">合并后的輸出文件</param>          public void InsertMerge(string tempDoc, string strCopyFolder, string outDoc)          {              string[] arrFiles = Directory.GetFiles(strCopyFolder);              InsertMerge(tempDoc, arrFiles, outDoc);          }          #endregion      }  }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中阳县| 应城市| 逊克县| 天长市| 上思县| 教育| 民乐县| 阿鲁科尔沁旗| 武强县| 正安县| 云霄县| 高台县| 北川| 手游| 南丰县| 凤翔县| 广灵县| 上饶市| 株洲县| 广东省| 宁远县| 孝感市| 衡东县| 黄梅县| 福鼎市| 呼玛县| 临安市| 综艺| 花莲县| 永善县| 萨迦县| 大冶市| 章丘市| 宁河县| 澄迈县| 瓮安县| 长乐市| 昌都县| 土默特左旗| 班玛县| 临江市|