使用spire.Doc实现一键替换Word文档里的内容
一、核心代码分析:
spire.doc官网: C#/VB.Net Excel, Word, PowerPoint, PDF Component - Welcome to e-iceblue Company Ltd
import com.spire.doc.Document;
//import javax.swing.text.Document;
import com.spire.doc.FileFormat;Document document = new Document(file.getPath());
//使用新文本替换文档中的指定文本,参数1为源,参数2为替换后的内容document.replace(key, map.get(key), false, true);//替换后的文档保存文档
document.saveToFile("D:\\替换工具\\目标文件\\"+file.getName(), FileFormat.Docx_2013);
二、 完整实现
package com.example.file;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;import com.spire.doc.Document;
//import javax.swing.text.Document;
import com.spire.doc.FileFormat;/***author:bingbing*日期:2020年6月27日*时间:下午4:29:08*/public class ReplaceWordContent {public static void main(String[] args) throws IOException {String directory="D:\\替换工具\\源文件";//获取到所有的fileFile directoryFile=new File(directory);File [] lists=directoryFile.listFiles();System.out.println("包含的文件有:"+Arrays.toString(lists)); for(int i=0;i<lists.length;i++) {replaceWordMutilFiles(lists[i]);}System.out.println("替换完毕!");}private static void replaceWordMutilFiles(File file) throws IOException {Document document = new Document(file.getPath());File source=new File("D:\\替换工具\\查找内容-替换内容.txt");//读取出需要替换的文件内容// 查找内容 替换内容// 毛永 BBBInputStreamReader reader = new InputStreamReader(new FileInputStream(source),"UTF-8");BufferedReader bufIn = new BufferedReader(reader); String line=null;Map<String,String> map=new HashMap<String,String>();int count=0;while ( (line = bufIn.readLine()) != null) {count++;// 替换每行中, 符合条件的字符串 System.out.println("行:"+line);if(line!=null&&line!="") {String str[]=line.split(" ");System.out.println("分割后的数组:"+Arrays.toString(str)+"长度为:"+str.length);if(count!=1&&str.length!=1) {map.put(str[0], str[str.length-1]);}}} System.out.println("需要替换的内容为:"+map);//替换所有文件下的对应的Key个value//使用新文本替换文档中的指定文本,参数1为源,参数2为替换后的内容//遍历map,获取Key和valueSet<String> keys = map.keySet(); //此行可省略,直接将map.keySet()写在for-each循环的条件中for(String key:keys){System.out.println("key值:"+key+" value值:"+map.get(key));//批量替换文件document.replace(key, map.get(key), false, true);}//保存文档document.saveToFile("D:\\替换工具\\目标文件\\"+file.getName(), FileFormat.Docx_2013);}}
三、使用windows批处理命令来运行此程序
在cmd中使用命令来编译并运行java程序,导入其他jar包,使用windows批处理文件_Dream_it_possible!的博客-CSDN博客_cmd编译java文件
使用spire.Doc实现一键替换Word文档里的内容相关推荐
- Free Spire.Doc组件C# 读取Word文档中的文本内容
C# 读取Word文档中的文本内容 这篇文章将介绍如何使用C#和Free Spire.Doc组件读取Word文档中的文本内容.Free Spire.Doc提供了两种方法来读取Word文档中的内容,一种 ...
- spire.doc 让java操作word文档更简单优雅
Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建.读取.编辑.转换和打印等功能集成到自己的 Java 应用程序中.作为一款完 ...
- java 替换word文档中的内容
文章内容来源: https://www.jb51.net/article/250141.htm#_label1 在maven项目的pom.xml里引入 <dependencies> < ...
- 自学Python:批量替换WORD文档里的关键词
针对一个WORD文件里的某个关键词,或者错误字词,我们可以很容易替换完成.那如果是很多个WORD文件需要马上替换完毕,那就需要花非常多的重复时间,使用Python代码可以轻松完成. 下面假定我们要同时 ...
- Word控件Spire.Doc 【Table】教程(7): 如何在C#中用表格替换word文档中的文本
Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Mic ...
- Word处理控件Aspose.Words功能演示:使用 Python 查找和替换 Word 文档中的文本
很多时候,您需要替换 Word 文档中的特定文本或短语.MS Word 具有针对此类情况的内置功能,您可以一键替换所需的文本.在本文中,您将学习如何使用 Python 以编程方式查找和替换 Word ...
- C# 替换Word文档中的图片
C# 替换Word文档中的图片 图片是Word文档中非常常见的一种元素,我们在处理Word文档时经常会对图片进行如添加,提取,替换和删除等操作.之前我已经介绍过如何提取Word文档中的图片,这篇文章将 ...
- python替换word内容,文档翻译-使用python替换word文档中的段落内容
前段时间遇到一个需求,需要将word文档中的内容进行替换,并且需要保证格式不变.在找了一圈资料后,发现没有现成的api供使用:由于本人做过一段时间文档解析,因此打算从word文档的xml入手,通过py ...
- Java版Word开发工具Aspose.Words功能解析:查找和替换Word文档中的文本
MS Word提供了一种简单的方法来查找和替换文档中的文本.查找和替换文本的一种流行用例之一可能是在文档之间的敏感信息在各个实体之间共享之前,对其进行删除或替换.但是,手动过程可能需要您安装MS Wo ...
最新文章
- 如何形象地描述 RxJava 中的背压和流控机制?
- 「神策 2021 数据驱动大会」主会场回顾
- dython:Python数据建模宝藏库
- 最优乘车(Floyd)
- 简单的ftp服务器(客户端、服务器端、socket)
- 利用爬虫模拟网页微信wechat
- dnse 2.0音效厉害还是full sound厉害点呢?谢谢!!
- 如何正确编写linux守护进程
- qt中实现绘制图形与截图
- pycharm (二)
- Python演示正多边形逼近圆周过程中计算圆周率近似值
- Linux虚拟机下mysql 5.7安装配置方法图文教程
- js离开页面执行函数 onbeforeunload与onunload事件
- Cisco路由器配置动态路由rip
- 小白不知道raw批量转换jpg怎么转?分享好用的方法
- 基于scrapy-redis的分布式腾讯新闻爬虫
- (二十)通俗易懂理解——汽车功能安全
- 小波学习笔记——模极大值去噪
- 数据结构之队列queue
- 用php写水仙花及思路,php水仙花数
热门文章
- 使用YOLOv5实现多摄像头实时目标检测
- 2021-04-18 c# 弹出虚拟键盘
- 一文带你秒懂 字节序(byte order),比特序(bit order),位域(bit field)
- eclipse油藏数值模拟器的文件读写c/c++算法库libecl的使用学习1
- Practical Python基础1(数据类型,运算,比较符号,字符串,列表,函数等)
- Jeff Dean:机器学习在硬件设计中的潜力
- 数字孪生体在产业中的有哪些应用领域?
- Vmware虚拟机全屏分辨率调节
- 西南大学网络计算机,重庆西南大学计算机等级考试报名
- 天翼物联发布5G纺织行业定制专网