【Spire.Doc】合并 Word 文档,将多个文档合并为一个
使用C#
在文档后添加新页合并
private void SaveToFileInsertText(string sourcePath, string insertPath, string saveToPath)
{Document doc = new Document(sourcePath);doc.InsertTextFromFile(insertPath, FileFormat.Docx);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}
Spire版本:5.1
百度云下载:
链接:https://pan.baidu.com/s/1_YijYkjogH1bZ30gbpFMCQ
提取码:k5zn
相关连接:https://www.evget.com/article/2018/8/21/28382.html
扩展
将一个文件夹的多个文档合并为一个文档
合成方法:
将文件夹中的文档两两合并,比如第一次时,第1个和第2个合并,第3个和第4个合并,依次类推;第2次时,将第一次的合并好的文件,按照第一次合并的方法,再次合并,直到只有一个文件,即合并完成。
合并过程,需要对中间文件进行规范命名,才可以认出是哪一次合并生成的文件,再进行下一步的合并。
例如,本次测试有36个文件,共合并6次,中间会产生一些中间文件,当合成到只有一个文件时,即完成
代码:
/// <summary>
/// 合并报告,高效率
/// </summary>
/// <param name="tableNamePath">所有文档路径</param>
/// <param name="combineDoc">最后文档保存路径</param>
public void CombineDoc(string tableNamePath, string combineDoc)
{int num = 1;while (true){DirectoryInfo root = new DirectoryInfo(tableNamePath);FileInfo[] files = root.GetFiles();if (num != 1){files = files.Where(d => d.FullName.Contains("-" + (num - 1) + "-")).ToArray();}//当只有一个文件时,为最终结果if (files.Length == 1){SaveToFile(files[0].FullName, combineDoc);Console.WriteLine("合并文档... 【" + tableNamePath + "】 完成...");break;}//判断文件数量是否为偶数bool isEven = files.Length % 2 == 0;if (isEven){for (int i = 0; i < files.Length; i += 2){SaveToFileInsertText(files[i].FullName, files[i + 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + i / 2 + ".docx"));}}else{for (int i = 0; i < files.Length - 1; i += 2){SaveToFileInsertText(files[i].FullName, files[i + 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + i / 2 + ".docx"));}SaveToFile(files[files.Length - 1].FullName, Path.Combine(tableNamePath, "report-" + num + "-" + (files.Length - 1) / 2 + ".docx"));}Console.WriteLine("合并文档... 【" + tableNamePath + "】 第" + num + "次 完成...");num++;}
}/// <summary>
/// 保存文档
/// </summary>
private void SaveToFile(string sourcePath, string saveToPath)
{Document doc = new Document(sourcePath);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}/// <summary>
/// 合并两个文档,并保存为另一个文档
/// </summary>
private void SaveToFileInsertText(string sourcePath, string insertPath, string saveToPath)
{Document doc = new Document(sourcePath);doc.InsertTextFromFile(insertPath, FileFormat.Docx);doc.SaveToFile(saveToPath, FileFormat.Docx);doc.Close();
}
完成...
【Spire.Doc】合并 Word 文档,将多个文档合并为一个相关推荐
- 【ChatGPT】Spire.Doc 给 Word 文档设置背景颜色和背景图片
使用 Spire.Doc 给 Word 文档设置背景颜色和背景图片 1.首先需要引用 Spire.Doc 的命名空间: using Spire.Doc; using Spire.Doc.Documen ...
- 使用spire.doc实现word文档合并
下载jar包: http://repo.e-iceblue.com/nexus/content/groups/public/e-iceblue/spire.doc/ maven配置: 在这里插入代码片 ...
- java 使用Spire.Doc实现Word文档插入图片
目录 使用步骤 1.引入依赖 2.关键代码 Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建.读取.编辑.转换和打印等功能集 ...
- 国产文档处理控件Spire.Doc WPS Word文档功能上线!快速创建Word指南
Spire.Doc for Java 是一款专业的Java Word组件,开发人员使用它可以轻松地将Word文档创建.读取.编辑.转换和打印等功能集成到自己的Java应用程序中. 本文将介绍如何使用S ...
- spire.doc操作word文档工具类(自用)
如果有相关问题,可以一起研究下 引入依赖 <dependencies> <dependency><groupId>e-iceblue</groupId> ...
- Java使用Spire.Doc实现Word文档添加图片水印
通过本文你将学到: Spire.Doc是什么? 如何在项目中引入Spire.Doc依赖? 项目中基于Spire.Doc封装工具类实现Word文档添加图片水印? 一.Spire.Doc是什么? 1.Sp ...
- Word控件Spire.Doc 【页面设置】教程(4) 如何在文档中插入分节符
在 Microsoft Word 中,您可以通过在所需位置插入分节符轻松地将文档拆分为多个部分,从而允许您对这些部分应用不同的格式或布局选项.如果您需要执行以下任何任务,Microsoft Word ...
- Word控件Spire.Doc 【页面设置】教程(10) ;通过 Spire.Doc 在 Word 文档的不同部分添加页码
有时,开发人员需要在一个 Word 文档中为不同的部分添加页码,例如封面.目录和内容位于不同的部分.本文讨论如何通过Spire.Doc为不同部分添加页码. Spire.Doc for.NET 最新下载 ...
- Spire.Doc利用word样式读取word文字内容(.NET)
认识Spire.Doc的样式 1.Section是按分节符计算的. 2.section.Paragraphs是每节的段落.所有的内容都是段落. 3.注意分析"段落样式"相关的属性. ...
- spire.doc转化word文件
spire.doc是java操作word文件的工具包,分为免费版和收费版 <artifactId>spire.doc</artifactId> 收费版:有水印,但是功能全 &l ...
最新文章
- cvs linux权限,Linux下CVS+ACL的权限控制是什么? 爱问知识人
- 微信企业号 JS-SDK:上传图片
- 2015数据中心宕机20%是由DDoS攻击引起
- 26个提升java性能需要注意的地方
- Android版:验证手机号码的正则表达式 (转)
- LwIP移植到FreeRTOS(STM32F107+DP83848)
- 基于Microsoft Translator API的vim翻译插件
- 死磕java_死磕 java同步系列之AQS起篇
- 此 Windows 副本不是正版的解决方案
- 入参对象有LocalDateTime类型的参数,swagger该如何传参
- 【Java】快速排序,归并排序,堆排序
- 一行代码即可删除C盘几十G垃圾,清理c盘垃圾的cmd命令
- minist数据集图片查看
- 静态库与动态库的区别与优缺点
- 如果让你来制作一个访问量很高的大型网站,你会如何来管理所有CSS文件、JS与图片?
- 帝国采集发布-帝国免规则采集发布
- Datawhale集成学习笔记:熟悉机器学习的三大主要任务
- 解决 PHP http_build_query() 预期得到 not 却得到 ¬ 的问题
- L9110电机驱动电路
- kali中rarcrack爆破rar压缩包密码
热门文章
- 立冬、小雪、凛冬将至:如何理解美国科技企业裁员潮?
- java计算机毕业设计医院人事档案管理系源程序+mysql+系统+lw文档+远程调试
- 中职生学云计算机技术应用,云课堂在中职计算机课程教学中的应用
- 通知与服务——消息通知——通知推送Notification
- tesla 显卡在ubuntu下安装显卡驱动log in loop 不能登陆的问题
- Axure 9 实战案例,基本元件的应用 1,用矩形与标题设计视频封面
- Comparator用法中o1-o2的问题
- 网页字体转换——实习僧
- 钱文品 | 《Redis在海量数据和高并发下的优化实践》主题分享
- 怎么用电脑制作证件照?使用这个工具就可以了