使用python和java一键替换word文件内容

2021年9月17日 10点热度 0条评论 来源: 涂宗勋

需求

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

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

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

技术选型

poi

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

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

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

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

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

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

spire.doc

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

    原文作者:涂宗勋
    原文地址: https://blog.csdn.net/tuzongxun/article/details/110385722
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。