需求

一键替换word文档内容,是个比较常见的需求,office和wps也都有全部替换功能。

但是这个功能只能针对当前打开的文档,如果有多个文档,就需要一个一个的来。同时,如果要替换的内容也是多个,同样需要一个一个的来。

在文件少的情况下可能也没什么,但是如果文件有几十个,那么可能就很需要耐心了,因此一键替换所有符合要求的文档中内容的需求就有了。

技术选型

poi

java中操作word,比较熟知或者说比较官方的api是poi,对于word普通的操作其实也可以了。

但是对于文档内容替换,实际使用时却发现有很多的坑,并不能让人满意。

首先,poi中处理docx文件使用的是XWPFDocument,出来doc文件使用的是HWPFDocument,实际使用发现在替换doc文件时,文档中自动生成的标题序号无法读取,只能读到级别,而不能读到具体的数值。

因此,从某种程度而言,这就破坏了原本的文档结构,所以也就不是那么靠谱。

同时,不知何种原因,不论是docx还是doc,总会有一些内容就是替换不掉,这就更加不靠谱了。

基于两种原因,在文档内容替换的技术选型上,便不得不放弃poi,而相关的替换代码也就没有贴出来的必要。

spire.doc

这个技术其实是最近了解到的,相对poi其实简单很多,但是这个并不是开源的,免费版

使用python和java一键替换word文件内容相关推荐

  1. Laravel引入phpoffice/phpword替换Word文件内容

    Laravel引入phpoffice/phpword替换Word文件内容 说明 安装 替换Word内容 源文件 转化后的文件 说明 PHPWord是一个用纯PHP编写的库,它提供了一组类 写入和读取不 ...

  2. PHPWord 替换 Word文件内容

    PHPWord 替换 Word文件内容 // 引入扩展 composer require phpoffice/phpword //模板内 默认的搜索模式宏 ${search-pattern}$form ...

  3. 应用python的docx模块解析word文件内容

    目录 工作问题 涉及知识点 实现过程 目标 调用对应的库和模块 定义通用方法 1.[遍历全部的同格式文件]返回一个文件夹内,限定某类格式文件,返回全部这类文件的绝对路径 2.[提取段落&表格中 ...

  4. Python在word文件指定位置中插入其他word文件内容的代码

    以下是在 Python 中插入另一个 word 文件内容到指定位置的代码: import docxdef insert_word_doc(main_doc, insert_doc, start, en ...

  5. 使用spire.Doc实现一键替换Word文档里的内容

    一.核心代码分析: spire.doc官网:  C#/VB.Net Excel, Word, PowerPoint, PDF Component - Welcome to e-iceblue Comp ...

  6. java对比俩个word文件内容差异

    java对比俩个word文件内容差异 添加依赖: <dependency><groupId>e-iceblue</groupId><artifactId> ...

  7. Java poi导出word文件

    Java在导出word文件时主要对表格中内容垂直居中处理做以记录方便后续碰到类似问题解决. maven pom.xml中添加poi依赖 <!-- word.excel工具 --> < ...

  8. 五种方式让你在java中读取properties文件内容不再是难题

    2019独角兽企业重金招聘Python工程师标准>>> 方式1.通过context:property-placeholder加载配置文件jdbc.properties中的内容 < ...

  9. java中读取properties文件内容五种方式

    一.背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题.就借此机会把Spring+SpringMVC ...

最新文章

  1. eoiioe IE 和 firefox js 兼容问题
  2. iOS - OC Block 代码块
  3. 1864: [Zjoi2006]三色二叉树
  4. 没好域名?就得给自己换个名
  5. 自己动手搭建Git服务器-SCM-Manager
  6. 封装、继承、多态的理解
  7. 插入排序java_「Java」各类排序算法
  8. stream去重_重复数据如何处理?List集合去重的四种方式
  9. 苹果app商品定价_【知乎问答】苹果 App Store 新推出的 1 元或 3 元定价对开发者有什么影响?...
  10. 2.3物理层下面的传输媒体
  11. 围棋对杀,为何总是只差一气
  12. 一个好用的国产电脑文件同步软件
  13. Excel·VBA数组组合函数、组合求和
  14. TP6如何配置多应用?
  15. JQuery网页飘窗
  16. 如何下载最新的NDVI数据?需要翻墙,安装MRT,如何处理下载的NDVI数据?
  17. Linux环境部署:开启电脑虚拟化
  18. 互联网服务器信息检索,网络信息检索的一般方法
  19. 基于“机器学习”的智能聊天机器人---python实现(1)
  20. 老男孩-Python之路,Day2 - Python基础2

热门文章

  1. 苹果手机数据恢复!手机照片删除了怎么恢复
  2. python三引号怎么换行_python三引号怎么使用
  3. Java中Excel表格数据的导入和导出步骤和方法
  4. 一篇关于计算机的英语作文 80词,关于电脑的英语作文80字
  5. 内测播客产品“皮艇“,长音频市场能给快手代拍什么样的新故事?
  6. 解决AndroidStudio编译出现的Lint
  7. 银河麒麟V10操作系统安装putty和cutecom和网络调试助手(mNetAssist)
  8. sql 字段添加 和增加字段备注 删除备注
  9. 基于SSM的酒店入住预定系统(JavaWeb毕业设计源码)
  10. JPG格式的图片怎在线压缩