Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

1.读取word 2003及word 2007需要的jar包

读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi-3.5-beta6-20090622.jar 和 poi-scratchpad-3.5-beta6-20090622.jar 两个 jar 包即可, 而 2007 版本(.docx)就麻烦多,我说的这个麻烦不是我们写代码的时候麻烦,是要导入的 jar 包比较的多,有如下 7 个之多:  1. openxml4j-bin-beta.jar  2. poi-3.5-beta6-20090622.jar  3. poi-ooxml-3.5-beta6-20090622.jar  4 .dom4j-1.6.1.jar  5. geronimo-stax-api_1.0_spec-1.0.jar  6. ooxml-schemas-1.0.jar  7. xmlbeans-2.3.0.jar 其中 4-7 是 poi-ooxml-3.5-beta6-20090622.jar 所依赖的 jar 包(在 poi-bin-3.5-beta6-20090622.tar.gz 中的 ooxml-lib 目录下可以找到)。

2.换行符号

硬换行:文件中换行,如果是键盘中使用了"enter"的换行。

软换行:文件中一行的字符数容量有限,当字符数量超过一定值时,会自动切到下行显示。

对程序来说,硬换行才是可以识别的、确定的换行,软换行与字体大小、缩进有关。

3.读取的注意事项

值得注意的是: POI 在读取不会读取 word 文件中的图片信息; 还有就是对于 2007 版的 word(.docx), 如果 word 文件中有表格,所有表格中的数据都会在读取出来的字符串的最后。

4.读取word文本内容代码

1 importjava.io.File;

2 importjava.io.FileInputStream;

3 importjava.io.InputStream;

4

5 importorg.apache.poi.POIXMLDocument;

6 importorg.apache.poi.POIXMLTextExtractor;

7 importorg.apache.poi.hwpf.extractor.WordExtractor;

8 importorg.apache.poi.openxml4j.opc.OPCPackage;

9 importorg.apache.poi.xwpf.extractor.XWPFWordExtractor;

10

11 public classTest {

12 public static voidmain(String[] args) {

13 try{

14 InputStream is = new FileInputStream(new File("2003.doc"));

15 WordExtractor ex = newWordExtractor(is);

16 String text2003 =ex.getText();

17 System.out.println(text2003);

18

19 OPCPackage opcPackage = POIXMLDocument.openPackage("2007.docx");

20 POIXMLTextExtractor extractor = newXWPFWordExtractor(opcPackage);

21 String text2007 =extractor.getText();

22 System.out.println(text2007);

23

24 } catch(Exception e) {

25 e.printStackTrace();

26 }

27 }

28 }

java读word_java读word文件(示例代码)相关推荐

  1. java写入word_JAVA实现Word文件读写

    准备材料 1.在D盘下新建一个template.doc文档,内容如下: image.png 2.pom.xml依赖: org.apache.poi poi-scratchpad 3.17 junit ...

  2. 安卓应用安全指南 4.6.1 处理文件 示例代码

    安卓应用安全指南 4.6.1 处理文件 示例代码 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY ...

  3. java对比俩个word文件内容差异

    java对比俩个word文件内容差异 添加依赖: <dependency><groupId>e-iceblue</groupId><artifactId> ...

  4. Webservice开发之xsd文件示例代码

    场景 SpringBoot整合spring-ws开发webservice接口(全流程详细教程)参照: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  5. java将异常写到text,java捕获异常信息存入txt文件示例

    捕获程序中出现的异常 可用于后期维护的必要性!做简单的测试 !package helpEntity; import java.io.BufferedReader; import java.io.Fil ...

  6. JAVA中医舌诊接口使用示例代码,JAVA舌象图特征人工智能识别代码,JAVA实现舌象特征检测与识别

    中医舌诊接口使用示例-Java示例项目 中医舌诊健康状态检测API 1.此文档适用于集成中国中医舌诊开放平台功能的用户. 2.此文档说明了与中国中医舌诊开放平台的数据交互方法(restful接口),按 ...

  7. Weblogic读不到Word文件

    之前遇到一导出word文件的需求,我的做法是把对应导出内容放到一个word文件中,把其中变化的内容作为变量,然后把该word文件放在WEB-INF目录下用来作为模板.在导出时通过ServletCont ...

  8. java使用创建Word文件示例

    package zzz.eee.q; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.Dispatch; import ...

  9. php文本书写格式,在PHP中读/写MS Word文件

    小编典典 读取二进制Word文档将涉及根据已发布的DOC格式的文件格式规范创建解析器.我认为这不是真正可行的解决方案. 您可以使用Microsoft OfficeXML格式来读写Word文件- 这与W ...

最新文章

  1. 抛出一个nullpointerexception_Java 14 发布了,再也不怕 NullPointerException 了!
  2. 机器学习算法基础——k近邻算法
  3. BugKuCTF WEB 变量1
  4. [Serializable]序列化一句话理解
  5. HDU 1079 Calendar Game 博弈
  6. Cordova+Vue快速搭建Hybrid App
  7. paip.c++ qt creator svn 设置以及使用总结.
  8. ArcGIS打开shapefile失败:形状数与记录表数不一致
  9. Java面向对象总结篇
  10. 操作ADS1115进行4个通道AD值的读取
  11. 【深度学习|数据集】Python 划分训练集和验证集
  12. 5款伊思儷超媒體繁体游戏 简体中文补丁
  13. Jaspersoft Studio 创建简单报表
  14. 什么叫手机或设备的ID
  15. 巴黎出差及场测攻略V1.3
  16. SpringMVC笔记(4):RESTFul详解
  17. 阿里云服务器域名备案全过程详细讲解
  18. three.js 后期处理通道postprocessing
  19. b站python直播批量发送弹幕_Python实现自动发送B站直播弹幕软件
  20. 511遇见易语言基础命令组件和算法

热门文章

  1. printstream_Java PrintStream close()方法与示例
  2. java calendar_Java Calendar getDisplayNames()方法与示例
  3. 量子物理 詹班 计算机,(电气系计算机系詹班)量子物理作业答案
  4. 使用python套用excel模板_Python自动化办公Excel-从表中批量复制粘贴数据到新表
  5. java 的io流需要学吗_Java Io流怎么学习呢?
  6. Java LinkedList公共int indexOf(Object o)方法(带示例)
  7. 漫话:如何给女朋友解释String对象是不可变的?
  8. Net和T-sql中的日期函数操作
  9. linux——常用指令
  10. Opencv dnn实现人类性别检测和年龄预测