跳转至

Word 处理文档组件

Word 处理文档(常见 WP = HWPF 和 XWPF)

本文主要介绍 POI 5.0.x HWPF 和 XWPF 两个库

HWPF - Horrible Word Processor Format

XWPF - Open Office XML Word Processor Format

此包包含用于处理 Microsoft .docx 文字处理文件的类,在 POI 中称为 XWPF(XML 文字处理格式)。

XWPFDocument 是核心,官方给的解释是**用于处理 .docx 文件的高级类**。

读取文档

使用有参构造方法可以读取 .docx 文档。

public XWPFDocument(java.io.InputStream is)
    throws java.io.IOException
// 获取文档输入流
InputStream fileInputStream = new FileInputStream(filePath + fileName + ".docx");
// 创建 XWPFDocument 对象
XWPFDocument xwpfDocument = new XWPFDocument(fileInputStream);

生成文档

// 创建文档输出流
FileOutputStream fileOutputStream = new FileOutputStream(filePath + fileName + ".docx");
// 写入文档
xwpfDocument.write(fileOutputStream);
// 关闭文档输出流
fileOutputStream.close();

文档元素

XWPF 对象主要有段落、表格、图表几大元素

段落

方法 描述 备注
createParagraph() 在文档末尾创建一个新的段落
insertNewParagraph(XmlCursor cursor) 在 cursor 处插入一个新的段落
setParagraph(XWPFParagraph p, int pos) 复制 p 到 pos 位置
getParagraphs() 获取段落列表
getParagraph(CTP p)
getPosofParagraph(XWPFParagraph p) 获取段落 p 的位置
getLastParagraph() 获取最后一个段落
getParagraphArray(int pos) 获取指定 pos 的段落
getParagraphPos(int pos) 获取指定 pos 的段落
getParagraphsIterator() 获取段落迭代器
getParagraphsSpliterator() 获取段落分割器

表格

图表