Java 读取Doc/Docx 文档
Java后台系统中常常会遇到读取文档内容的需求,今天把 Java 读取两种格式的word文档写了一个简单的工具类附上:
1. 需要添加 Apache.poi 的依赖
<!-- apache poi--><dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>3.8</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>
2. 工具类代码
package com.lq.file.word;/*** <p>Description:POIUtil 工具类</p>* <p>Copyright: Copyright (c)2019</p>* <p>Company: Tope</p>* <P>@version 1.0</P>*/
import org.apache.poi.POIXMLDocument;
import org.apache.poi.POIXMLTextExtractor;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;public class POIUtil {/*** @Description: POI 读取 word* @create: 2019-07-27 9:48* @update logs* @throws Exception*/public static List<String> readWord(String filePath) throws Exception{List<String> linList = new ArrayList<String>();String buffer = "";try {if (filePath.endsWith(".doc")) {InputStream is = new FileInputStream(new File(filePath));WordExtractor ex = new WordExtractor(is);buffer = ex.getText();ex.close();if(buffer.length() > 0){//使用回车换行符分割字符串String [] arry = buffer.split("\\r\\n");for (String string : arry) {linList.add(string.trim());}}} else if (filePath.endsWith(".docx")) {OPCPackage opcPackage = POIXMLDocument.openPackage(filePath);POIXMLTextExtractor extractor = new XWPFWordExtractor(opcPackage);buffer = extractor.getText();extractor.close();if(buffer.length() > 0){//使用换行符分割字符串String [] arry = buffer.split("\\n");for (String string : arry) {linList.add(string.trim());}}} else {return null;}return linList;} catch (Exception e) {System.out.print("error---->"+filePath);e.printStackTrace();return null;}}}
Java 读取Doc/Docx 文档相关推荐
- 使用python-docx读取doc,docx文档
API: http://python-docx.readthedocs.io/en/latest/#api-documentation 将doc转为docx: from win32com imp ...
- 在线预览doc,docx文档
在线预览doc,docx文档 前言:上传成功以后的每个文档都能获取到所传文件的路径; 我这里是一个maven项目,需要在pom文件引入 <!-- 文件预览 --><dependenc ...
- Java web/springboot上传word/doc/docx文档(含图片)与HTML富文本导入/导出互相转换解析!附项目源码
测试效果 先看下效果 文档内容如下: 上传 上传docx文档 查看解析内容 <html><head><style>p{margin-top:0pt;margin-b ...
- java docx转pdf_java word/doc/docx文档转PDF 加水印
本文实例讲述了java实现word文档转pdf并添加水印的方法.分享给大家供大家参考,具体如下: 前段时间,项目需要将上传的Word文档在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研 ...
- (doc, docx)文档合并的三种方法
Word文档合并几种方式 通过com.spire.doc包 具体参考地址:https://www.e-iceblue.cn/spiredocforjavaoperating/merge-word-do ...
- HWPFDocument读取doc,wps文档(含图片读取)
导包 代码: 1.图片工具类 1 package com.poi.test;2 3 import java.util.ArrayList;4 import java.util.HashMap;5 im ...
- 利用Freemarker模板生成doc或者docx文档(转载整理)
可以直接看主要代码实现 doc作为模板文件生成指定格式的doc文件 实现逻辑 1.把作为模板的doc文件另存为xml文件 2.凡是需要填充的数据用${xxxx}替代 3.利用Template类将数据填 ...
- Word处理控件Aspose.Words功能演示:使用 Java 比较 MS Word 文档
Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...
- Word处理控件Aspose.Words功能演示:从 Java 中的 Word 文档中提取图像
图像通常用于表示 Word 文档中的重要信息.在文本旁边包含图像使内容更具吸引力.在某些情况下,您可能需要以编程方式提取嵌入在 Word 文档中的图像.为此,本文介绍了如何使用 Java 从 Word ...
- 自己用js做的在线word文档编辑器oarword-doc/docx文档编辑、导出导出
分享自己用js做的在线word文档编辑器oarword 支持基本doc/docx文档编辑,导出和导出,类似google docs和zoho 源码分享在Github:https://github.com ...
最新文章
- ceph PG设计,状态机,peering,recovery 导图
- VSCode注册关联自定义类型文件
- mysql修改字段非必输_mysql有些字段是非必填的,传空要查所有数据该怎么处理?...
- IbatisNet注意点
- hbase1.1.1 连接集群_Hadoop2.7.1+Hbase1.1.2集群环境搭建(10) hadoop hbase kerberos
- 从非数组对象转数组方法小结
- 小博老师精选Java十大CMS ——建站神器
- python实现洗牌算法_【Python】洗牌算法及 random 中 shuffle 方法和 sample 方法浅析...
- UE4添加人物动画之前后左右移动
- 开源 cocos2dx 五彩连珠.
- 计算机毕业设计、课程设计之[含论文+源码等]S2SH+mysql的报刊订阅系统[包运行成功]
- 全球最强大脑在哪里?阿里小蜜算法团队在寻找
- Django web开发(一) - 前端
- 安卓的个性化彩色二维码的完美实现
- MSDC 4.3 接口规范(15)
- Android 辅助服务实战-游戏点击器
- 转:成功者的第四个特征,如何与他人打交道?
- win10全新系统安装 U盘启动
- 【IT之路】微信小程序之美化
- 树形数据的搜索方法---javascript