文档章节

POI解析word文档,支持DOC和DOCX版本

 刘祖鹏
发布于 2017/06/15 17:14
字数 481
阅读 217
收藏 0

一、简介

Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有很多改进,加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。

二、POI组成部分概览

  • 以下是POI的几个重要组成部分,以及各组件的功能概述。
  • POIFS是该项目的最古老,最稳定的一部分。.这是格式化OLE 2复合文档为纯Java的接口。 它同时支持读写功能。
  • 所有的组件,最终都依赖于它的定义
  • HSSF 和 XSSF
  • HSSF: MS-Excel 97-2003(.xls),基于BIFF8格式的JAVA接口。
  • XSSF:MS-Excel 2007+(.xlsx),基于OOXML格式的JAVA接口。
  • HWPF 和XWPF
  • HWPF: MS-Word 97-2003(.doc),基于BIFF8格式的JAVA接口。只支持.doc文件简单的操作,读写能力有限。本API为POI项目早期开发,很不幸的 是主要负责HWPF模块开发的工程师-“Ryan Ackley”已经离开Apache组织,现在该模块没有人维护、更新、完善。
  • XWPF:MS-Word 2007+(.docx),基于OOXML格式的JAVA接口。较HWPF功能完善。

三、所需JAR包 这里我使用3.9.x版本

  • poi-3.9-20121203.jar
  • poi-excelant-3.9-20121203.jar
  • poi-ooxml-3.9-20121203.jar
  • poi-ooxml-schemas-3.9-20121203.jar
  • poi-scratchpad-3.9-20121203.jar

四、代码 解析doc格式的文档

InputStream is = new FileInputStream(new File("E:\\TempDirectory\\knowledge_import.doc"));
WordExtractor wordExtractor = new WordExtractor(is);

System.out.println("【 使用getText()方法提取的Word文件的内容如下所示:】");
String text = wordExtractor.getText();
System.out.println(text);

解析docx格式的文档

XWPFWordExtractor docx = new XWPFWordExtractor(POIXMLDocument.openPackage("E:\\TempDirectory\\knowledge_import.docx"));
//提取.docx正文文本
String text = docx.getText();
System.out.println("解析DOCX格式的word文档!"+text);

© 著作权归作者所有

共有 人打赏支持
粉丝 9
博文 50
码字总数 73538
作品 0
通州
高级程序员
私信 提问
poi操作doc文档

http://haofenglemon.iteye.com/blog/568897 关键字:POI JAVA 批注 总页数 总字符数 一:认识POI Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。最新的3.5版本有...

yunlong090614
2015/01/30
2
0
ueditor 第三方插件上线

导入word功能介绍 ueditor word 文档导入功能支持 .docx 和 .doc 格式的文档导入。 docx的解析性能比doc好,若doc导入失败,请手工转为docx后导入。 使用中如发现问题或提建议,请邮件联系:...

___Null
2014/07/28
7.3K
9
PageOffice与Apache POI的区别

相同之处: 都可以对MS Office文档进行填充数据,转HTML、PDF等。 服务器端都不需要装MS Office办公软件。 都支持windows、linux、unix服务器。 2. 不同之处: PageOffice是客户端生成文档的...

山里的红杏
2018/09/12
0
0
python docx文档转html页面

说到word文档转html的,网上一搜一大把,各种在线word转html页面,使用起来也方便。但是在实际项目中要使用的话,需要自己开发,这里就提供一个简单的方法。 后缀 .doc 和 .docx 都是word文档...

Mr_zebra
2018/11/20
0
0
java利用Freemarker模板生成docx格式的word文档

之前写过一篇利用Freemarker模板生成doc的博客,不过那个博客有点缺陷,生成的word占用的空间很大,几百页的word有将近100M了。所以,后面需求必须是生成的docx文档,结果导出后正常才几M,昨...

lemonLove
2018/11/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Cookie 显示用户上次访问的时间

import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.serv......

gwl_
今天
1
0
网络编程

第14天 网络编程 今日内容介绍  网络通信协议  UDP通信  TCP通信 今日学习目标  能够辨别UDP和TCP协议特点  能够说出UDP协议下两个常用类名称  能够说出TCP协议下两个常用类名称...

stars永恒
今天
1
0
二进制相关

二进制 众所周知计算机使用的是二进制,数字的二进制是如何表示的呢? 实际就是逢二进一。比如 2 用二进制就是 10。那么根据此可以推算出 5的二进制等于 10*10+1 即为 101。 在计算机中,负数以...

NotFound403
昨天
3
0
day22:

1、写一个getinterface.sh 脚本可以接受选项[i,I],完成下面任务: 1)使用格式:getinterface.sh [-i interface | -I ip] 2)当用户使用-i选项时,显示指定网卡的IP地址;当用户使用-I选项...

芬野de博客
昨天
2
0
Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现

自Spring Cloud Alibaba发布第一个Release以来,就备受国内开发者的高度关注。虽然Spring Cloud Alibaba还没能纳入Spring Cloud的主版本管理中,但是凭借阿里中间件团队的背景,还是得到不少...

程序猿DD
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部