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. Android 最简洁的获取联系人头像的代码

    ContentResolver cr = view.getContext().getContentResolver(); Uri uri = ContentUris.withAppendedId(Co ...

  2. ZOJ 2723 Semi-Prime ||ZOJ 2060 Fibonacci Again 水水水!

    两题水题: 1.如果一个数能被分解为两个素数的乘积,则称为Semi-Prime,给你一个数,让你判断是不是Semi-Prime数. 2.定义F(0) = 7, F(1) = 11, F(n) = F( ...

  3. LA 3602 - DNA Consensus String 枚举

    原题地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  4. 10.1、android输入系统_必备Linux编程知识_inotify和epoll

    1. inotify和epoll 怎么监测键盘接入与拔出? (1)hotplug机制:内核发现键盘接入/拔出==>启动hotplug进程==>发消息给输入系统 (2)inotify机制:输 ...

  5. swift项目第九天:正则表达式的学习

    import UIKit /* 练习1:匹配abc 练习2:包含一个a~z,后面必须是0~9 -->[a-z][0-9]或者[a-z]\d * [a-z] : a~z * [0-9]/\d : ...

  6. Visual Studio中你所不知道的智能感知

    在Visual Studio中的智能感知,相信大家都用过.summary,param,returns这几个相信很多人都用过的吧.那么field,value等等这些呢. 首先在Visual Studio ...

  7. 结合Wireshark捕获分组深入理解TCP/IP协议栈之HTTP协议

    摘要:     本文简单介绍了Web应用层协议理论知识,详细讲述了HTTP请求报文和响应报文各个字段含义,并从Wireshark俘获分组中选取HTTP相关报文进行分析. 一.概述     Web的应用 ...

  8. 6 、字符编码笔记:ASCII,Unicode和UTF-8

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出 256种状态,这被称为一个字节(byte) ...

  9. Bootstrap相关优质项目必备网址

    1:文档全集:这里收集了Bootstrap从V1.0.0版本到现在,整个文档的历史.Bootstrap本身就是一个传奇,而这些文档就是传奇的见证! 官方网址:http://docs.bootcss.c ...

  10. Chromium网页URL载入过程分析

    Chromium在Browser进程中为网页创建了一个Frame Tree之后,会将网页的URL发送给Render进程进行载入.Render进程接收到网页URL载入请求之后,会做一些必要的初始化工作, ...