Apache POI Word

1、什么是Apache POI?

Apache POI是一个流行的API,使用Java程序创建,修改和显示MS-Office文件。 它是由Apache
Software Foundation开发和发布的一个开源库,用于使用Java程序设计或修改MS-Office文件。 它包含用于将用户输入数据或文件解码为MS-Office文档的类和方法。

2、Apache POI的组件

Apache POI包含用于MS-Office的所有OLE2复合文档的类和方法。 此API的组件列表如下:

POIFS:此组件是所有其他POI元素的基本因素。 它用于显式读取不同的文件。

HSSF:用于读取和写入.xls格式的MS-Excel文件。

XSSF(XML SpreadSheet格式):用于MS-Excel的.xlsx文件格式。

HPSF:用于提取MS-Office文件的属性集。

HWPF:用于读取和写入MS-Word的.doc扩展文件。

XWPF(XML字处理器格式):用于读取和写入MS-Word的扩展文件 .docx 

HSLF:用于阅读,创建和编辑PowerPoint演示文稿。

HDGF(Horrible DiaGram格式):它包含MS-Visio二进制文件的类和方法。

HPBF(Horrible PuBlisher格式):用于读取和写入MS-Publisher文件。

本文章将指导您完成使用Java处理MS-Word文件的过程。因此,仅限于HWPF和XWPF组件。

3、安装Apache POI库

从 http://poi.apache.org/download 下载最新版本的Apache
POI。并将其内容解压缩到一个文件夹,从中可以将所需的库链接到Java程序。导入jar如下:

4、Apache POI Word -
文件

以下简单程序用于创建空白MS-Word文档:

5、Apache POI Word -
段落

下面程序用于创建一个段落以及将其添加到文档中。段落是Word文件中页面的一部分。

首先创建一个文档,然后我们可以创建一个段落。使用Paragraph实例,您可以创建行,然后向文档中输入一些文本。例子如下:

在c盘根目录下创建word文档:

createparagraph.docx 文件如下所示

6、Apache POI Word -
表格

下面程序用于创建表格
并且设置表格的宽度,使用XWPFTable 类创建表数据。 将每个行添加到表格中,并将单元格添加到行

7、Apache POI Word -
图片

下面程序用与在文档中创建数据表,并向文档中导入图片。

8、Apache POI Word -
文本提取

对于.docx文件,我们使用类org.apache.poi.xwpf.extractor.XPFFWordExtractor从Word文件中提取和返回简单数据,从Word文件中提取标题,脚注,表数据等。

下面显示如何从Word文件提取简单文本:

总结:关于使用HWPF和XWPF组件来处理word就介绍到这里了,更多的资料可以参考完整的API文档:https://poi.apache.org/apidocs/index.html?org/apache/poi/openxml4j/opc/internal/package-summary.html

Apache POI Word基本使用的更多相关文章

  1. 解决 apache poi 转换 word(docx) 文件到 html 文件表格没边框的问题

    一.起因 这几天在做电子签章问题,要通过替换docx文件中的占位符生成包含业务数据的合同数据,再转换成html文件,转换成pdf文件.遇到的问题是:通过apache poi转换docx到html时,原 ...

  2. Java中用Apache POI生成excel和word文档

    概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...

  3. 使用java Apache poi 根据word模板生成word报表

    项目开发过程中,客户提出一堆导出报表的需求,需要导出word格式,页眉还需要加上客户公司的logo,试了几种方案,最后选择了用 Apache poi 加上自定义标签的方式实现. 目前功能还比较简单,一 ...

  4. Apache Poi 操作word,替换字符保留样式问题,runs段落混乱问题。

    关于这个问题也是刚好遇到,一通搜索也没有找到类似的或者是有效的方法.下面介绍一下. 首先apache poi的引入 <dependency> <groupId>org.apac ...

  5. java word转html 报错 org/apache/poi/xwpf/usermodel/IRunBody

    最终解决的办法是修改jar包版本,一定要对应上. <dependency> <groupId>org.apache.poi</groupId> <artifa ...

  6. apache poi导出excel报表

    Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能.POI为"P ...

  7. Apache POI 实现对 Excel 文件读写

    1. Apache POI 简介 Apache POI是Apache软件基金会的开放源码函式库. 提供API给Java应用程序对Microsoft Office格式档案读和写的功能. 老外起名字总是很 ...

  8. 【POI word】使用POI实现对Word的读取以及生成

    项目结构如下: 那第一部分:先是读取Word文档 package com.it.WordTest; import java.io.FileInputStream; import java.io.Fil ...

  9. POI Word 模板 文字 图片 替换

    实验环境:POI3.7+Word2007 Word模板: 替换后效果: 代码: 1.入口文件 public class Test { public static void main(String[] ...

随机推荐

  1. 读<阿里亿级日活网关通道架构演进>有感

    读<阿里亿级日活网关通道架构演进>时对优化方法有些概念不理解,特意搜索了一下,拓展自己的思路. 其中的优化: 优化方法中1,2比较常见,3,4我知道的比较少,很感兴趣.就继续追踪下去: 于 ...

  2. docker安装及问题处理

    1.在Ubuntu的命令行中输入 sudo apt-get install docker.io 2.如果切换到了root用户下 apt-get install docker.io 3.对于新安装的Ub ...

  3. (转)yum & wget代理设置

    转自 http://www.cnblogs.com/windows/archive/2012/12/14/2817533.html   yum  配置代理服务器访问要设置所有 yum 操作都使用代理服 ...

  4. 【BZOJ 4556】字符串

    [链接]h在这里写链接 [题意]     给你一个长度为n(n<=10^5)的字符串以及一个整数m(m<=10^5),代表询问的次数.     每个询问由4个整数a,b,c,d给出    ...

  5. 程序猿必备软件转载自 www.uhdesk.com

    XMLSpy 2012 企业版中文破解版 软件描写叙述: XMLSpy是XML(标准通用标记语言的子集)编辑器,支持WYSWYG.支持Unicode.多字符集,支持Well-formed和Valida ...

  6. AForge,Emgu.CV抓拍图像大小

    原文:AForge,Emgu.CV抓拍图像大小 2017年,忙忙碌碌地过去了,象往年一样,依然没有时间上CSDN,博客园. 这一年是打工以来最辛苦的一年. 这一年用了不少自己没有接触过的东西.如人脸识 ...

  7. 【LeetCode-面试算法经典-Java实现】【096-Unique Binary Search Trees(唯一二叉搜索树)】

    [096-Unique Binary Search Trees(唯一二叉搜索树)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Given n, how many s ...

  8. Multivariate Linear Regression

    Multiple Features Linear regression with multiple variables is also known as "multivariate line ...

  9. POJ 1775 Sum of Factorials (ZOJ 2358)

    http://poj.org/problem?id=1775 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1334 题目大意: ...

  10. (一一六)新浪微博client的离线缓存实现思路

    上一节(一一五)利用NSKeyedArchiver实现随意对象转为二进制介绍了将随意对象转化为二进制数据和还原的方法.可用于实现本节介绍的微博数据离线缓存. 通过新浪官方的API能够发现,返回的微博数 ...