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. 【例题 6-15 UVA - 10129】Play on Words

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 拓扑大水题 [代码] #include <bits/stdc++.h> using namespace std; con ...

  2. nokia 5220 XpressMusic 自己刷机

    看了半天各种论坛,是在不知道从哪里下手,所以自己写一篇自己刷机的新的.凤凰那个软件好像已经挂了,每次打开就是service is not authorized. 所以还是使用nokia自己的官方下载平 ...

  3. struts2_7_Action类中方法的动态调用

    (一)直接调用方法(不推荐使用) 1)Action类: private String savePath; public String getSavePath() { return savePath; ...

  4. 每日技术总结:vue router传参方式,js获取设备高度

    今天貌似没什么问题,23333…… 1.vue router 路由传参的方式 应用情景:从分类页(category.vue)进入商品列表页(list.vue),需要传递商品分类id(catId),商品 ...

  5. 关于fatfs生成的wav文件是空,大小是0的问题

    绝大多数是因为打开错误 调试的时候,编写程序的时候 要记得res=f_open() 要有返回值res的设置

  6. 【a903】石子归并

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 在一个圆形操场的四周摆放着N堆石子(N<= 100),现要将石子有次序地合并成一堆.规定每次只能选取相 ...

  7. Eclipse RCP 中创建自己定义首选项,并能读取首选项中的值

    Eclipse RCP的插件中若想自定义首选项须要扩展扩展点: org.eclipse.core.runtime.preferences //该扩展点用于初始化首选项中的值 org.eclipse.u ...

  8. [AngularFire2] Update multi collections at the same time with FirebaseRef

    At some point, you might need to udpate multi collections and those collections should all updated s ...

  9. P2P网络借贷系统简要解读

    P2P网络借贷系统的核心功能其实很简单,就是若干投资者(借款人)集体把钱贷给贷款人,到期后,贷款人把利息和本金按时还给借款人.平台的主要作用是"撮合",收取一定的服务费和管理费. ...

  10. iOS开发Quartz2D之 七:雪花效果

    #import "VCView.h" @implementation VCView -(void)awakeFromNib { //[NSTimer scheduledTimerW ...