【Java】Apache poi对word文档进行写入操作

 最近在做一个自动生成Word文档的东西,需求是基于固定格式的doc文件,对其进行修改后生成一个新的doc文件(修改方法为替换)。

由于poi只提供了简单的读写操作,不支持样式,因此只能先事先准备好带有格式的doc文件。

poi下载地址:http://poi.apache.org/download.html

目前(2021年4月11日)最新版本是5.0.0

效果图
package com.company;
import java.io.*;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.*;
import org.apache.poi.hwpf.usermodel.Range;

public class WordReading {
    WordExtractor wordExtractor;
    public static void main(String[] args) {
        new WordReading().writeWord("D:\\模板.doc");
    }

    //写入word
    public void writeWord(String path){
        File file = new File(path);
        try{
            InputStream is = new FileInputStream(file);
            HWPFDocument doc = new HWPFDocument(is);
            //getRange方法读取doc文档全部内容
            Range range = doc.getRange();
            //替换文档内容
            range.replaceText("${标题}","阿里巴巴发布公开信");
            //输出到具体文件,如果doc文件不存在则自动生成
            OutputStream os = new FileOutputStream("D:\\生成文件.doc");
            doc.write(os);
            os.close();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
}

 

posted on 2021-04-11 16:21  real-道森  阅读(335)  评论(0)    收藏  举报