最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#實現(xiàn)合并多個word文檔的方法

 更新時間:2014年09月19日 10:32:28   投稿:shichen2014  
這篇文章主要介紹了C#實現(xiàn)合并多個word文檔的方法,是C#針對Word文檔操作的一個非常重要的技巧,需要的朋友可以參考下

本文實例講述了C#實現(xiàn)合并多個word文檔的方法,是非常具有實用價值的技巧。分享給大家供大家參考。

具體實現(xiàn)方法如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Office.Interop.Word;
using System.Reflection;
using System.IO;
using System.Diagnostics;

namespace driverexam.WordReport
{
  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 循環(huán)合并多個文件(復制合并重復的文件)
    /// <summary> 
    /// 循環(huán)合并多個文件(復制合并重復的文件) 
    /// </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> 
    /// 循環(huán)合并多個文件(復制合并重復的文件) 
    /// </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 循環(huán)合并多個文件(插入合并文件)
    /// <summary> 
    /// 循環(huán)合并多個文件(插入合并文件) 
    /// </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> 
    /// 循環(huán)合并多個文件(插入合并文件) 
    /// </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
  }
}

相信本文所述對大家的C#程序設計有一定的借鑒價值。

相關文章

  • C# HttpClient上傳文件并附帶其它參數(shù)方式

    C# HttpClient上傳文件并附帶其它參數(shù)方式

    這篇文章主要介紹了C# HttpClient上傳文件并附帶其它參數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • C#中LinkedList<T>的存儲結構詳解

    C#中LinkedList<T>的存儲結構詳解

    這篇文章主要介紹了深度解析C#中LinkedList<T>的存儲結構,本文將從鏈表的基礎特性、C#中LinkedList的底層實現(xiàn)邏輯,.NET的不同版本對于Queue的不同實現(xiàn)方式的原因分析等幾個視角進行簡單的解讀,需要的朋友可以參考下
    2023-12-12
  • 基于WPF實現(xiàn)繪制地鐵路線圖

    基于WPF實現(xiàn)繪制地鐵路線圖

    經(jīng)常坐地鐵,卻不知道地鐵多少條線路?哪個站下車?本文就來帶大家利用WPF繪制深圳地鐵路線圖,從而帶大家掌握WPF在圖形繪制方面的一些知識,希望對大家有所幫助
    2023-06-06
  • 使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能

    使用Nopcommerce為商城添加滿XX減XX優(yōu)惠券功能

    中秋國慶節(jié)眼看到跟前了,很多商城都借此機會搞促銷活動,什么滿200減80送優(yōu)惠券等活動,基于后臺程序是怎么實現(xiàn)的呢?下面腳本之家小編帶領大家一起學習吧
    2015-09-09
  • 在C#中捕獲內(nèi)存不足異常

    在C#中捕獲內(nèi)存不足異常

    這篇文章主要介紹了在C#中捕獲內(nèi)存不足異常,下面文章內(nèi)容圍繞如何在C#中捕獲內(nèi)存不足異常的相關資料展開詳細內(nèi)容,具有一定的參考價值,需要的小伙伴可以參考一下,希望對你有所幫助
    2021-12-12
  • 在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器

    在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器

    這篇文章主要介紹了在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器的方法,是C#事件編程中的基礎知識,需要的朋友可以參考下
    2016-02-02
  • C# 通過反射初探ORM框架的實現(xiàn)原理(詳解)

    C# 通過反射初探ORM框架的實現(xiàn)原理(詳解)

    下面小編就為大家分享一篇C# 通過反射初探ORM框架的實現(xiàn)原理詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案

    C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案

    這篇文章主要介紹了C# KeyUp事件中MessageBox的回車(Enter)鍵回調(diào)問題解決方案,需要的朋友可以參考下
    2014-07-07
  • C#實現(xiàn)日期格式轉換的公共方法類實例

    C#實現(xiàn)日期格式轉換的公共方法類實例

    這篇文章主要介紹了C#實現(xiàn)日期格式轉換的公共方法類,結合完整實例形式分析了C#針對各種常見日期格式的轉換方法,涉及C#字符串、日期、時間相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • C#實現(xiàn)Winform小數(shù)字鍵盤模擬器

    C#實現(xiàn)Winform小數(shù)字鍵盤模擬器

    本文主要介紹了C#實現(xiàn)Winform小數(shù)字鍵盤模擬器,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評論

疏勒县| 册亨县| 北海市| 双鸭山市| 霍林郭勒市| 深州市| 开阳县| 怀宁县| 铜鼓县| 儋州市| 天水市| 德昌县| 祁连县| 白山市| 宜章县| 永平县| 彭泽县| 普兰县| 无为县| 永嘉县| 登封市| 秭归县| 焦作市| 南城县| 桃源县| 巴林右旗| 从江县| 定日县| 白朗县| 简阳市| 内乡县| 常州市| 晋中市| 吴旗县| 永平县| 繁昌县| 华阴市| 天长市| 原阳县| 金乡县| 宁阳县|