我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#中怎么合并多个WORD文档

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#中怎么合并多个WORD文档

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      }  }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#中怎么合并多个WORD文档

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#中怎么合并多个WORD文档

C#中怎么合并多个WORD文档,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。今天因为客户需要,需要将多个WORD文档合并成为一个WORD文档。其中,对WORD文
2023-06-17

word怎么合并多个文档

这篇“word怎么合并多个文档”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“word怎么合并多个文档”文章吧。word合并多
2023-06-30

怎么用C#实现合并Word文档功能

本文小编为大家详细介绍“怎么用C#实现合并Word文档功能”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用C#实现合并Word文档功能”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。程序环境本次测试时,在程序
2023-07-04

怎么用python将word文档合并

这篇文章主要为大家展示了“怎么用python将word文档合并”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用python将word文档合并”这篇文章吧。设计思路: 首先,整个
2023-06-22

C#中怎么打开一个Word文档

C#中怎么打开一个Word文档,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#打开Word文档实例如下://在项目引用里添加上对Microsoft Word
2023-06-17

C#中怎么创建一个Word文档

C#中怎么创建一个Word文档,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#创建Word文档实例:using MSExcel = Microsoft.Office.Inte
2023-06-17

利用C#实现合并Word文档功能

合并Word文档可以快速地将多份编辑好的文档合在一起,避免复制粘贴时遗漏内容,以及耗费不必要的时间。本文将分为以下两部分介绍如何通过C#合并Word文档,并附上VB.NET代码供大家参考,希望对大家有所帮助
2022-12-08

使用Java怎么将多个文档合并输出到一个文档

这篇文章将为大家详细讲解有关使用Java怎么将多个文档合并输出到一个文档,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法:Java NIOpackage First;import java
2023-05-30

C#中怎么快速合并多个flv文件

在C#中,可以使用ffmpeg库来实现快速合并多个FLV文件。首先,确保你已经安装了ffmpeg库,并将其添加到项目中。然后,可以使用以下代码来合并多个FLV文件:using System;using System.Diagnost
2023-10-22

C#怎么读取word文档

本篇内容主要讲解“C#怎么读取word文档”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么读取word文档”吧!C#读取word文档是如何实现的呢?我们可以使用FileStream对象来把
2023-06-17

wps如何把多个文档合并成一个

这篇文章主要介绍了wps如何把多个文档合并成一个的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇wps如何把多个文档合并成一个文章都会有所收获,下面我们一起来看看吧。1、首先打开空白文档,然后点击上面的“插入”。
2023-07-02

怎么用vbscript合并多个文本文件

这篇文章主要介绍“怎么用vbscript合并多个文本文件”,在日常操作中,相信很多人在怎么用vbscript合并多个文本文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用vbscript合并多个文本文件
2023-06-08

多个 EXCEL文件怎么合并成一个文件

今天就跟大家聊聊有关多个 EXCEL文件怎么合并成一个文件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。同一文件夹里有多个格式相同的EXCEL文件,需要把它们合并到一个EXCEL文件
2023-06-03

怎么用一行python代码合并162个Word文件

这篇文章主要介绍“怎么用一行python代码合并162个Word文件”,在日常操作中,相信很多人在怎么用一行python代码合并162个Word文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用一行py
2023-07-05

怎么用python合并多个excel文件

本篇内容主要讲解“怎么用python合并多个excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用python合并多个excel文件”吧!python可以做什么Python是一种编程
2023-06-14

word文档中怎么嵌入excel文件

您可以按照以下步骤将Excel文件嵌入到Word文档中:1. 打开Word文档,将光标定位到您想要插入Excel文件的位置。2. 在Word菜单栏中选择“插入”选项卡,然后点击“对象”按钮。这将打开“对象”对话框。3. 在“对象”对话框中,
2023-09-29

C#怎么合并多个连续空格符

C#怎么合并多个连续空格符,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。我们使用正则表达式来实现合并多个连续C#空格符,类Regex 的名称空间是:System.Text.
2023-06-17

怎么在word文档中画横线

在Word文档中画横线,可以按照以下步骤进行操作:1. 打开Word文档,将光标置于要画横线的位置。2. 在菜单栏中选择“开始”选项卡。3. 在“段落”组中点击“边框”按钮的下拉箭头,弹出边框和底纹菜单。4. 在菜单中选择“底纹”选项。5.
2023-09-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录