Java通过poi读取word,excel,ppt文件中文本(word部分)

使用Apache POI实现Java操作Office文件:从Excel、Word到PPT模板写入 Apache POI为Java开发者提供了强大的Office文件操作能力,无论是基础的数据写入,还是复杂的模板定制,都能通过灵活组合API实现。掌握POI的核心组件(XSSF/XWPF/XSLF)和元素定位技巧,可高效解决企业级开发中的文档自动化需求。延伸思考:结合POI-TL等工具可实现更复杂的Word模板引擎,而面对超大数据量Excel处理时,需合理选择HSSF(旧格式)、XSSF(新格式)或SXSSF(流式)方案。建议在实际项目中根据文件格式、数据量和功能复杂度选择最佳实现方式。 阅读详情

一:认识POI 
Apache POI是一个开源的利用Java读写Excel、WORD等微软OLE2组件文档的项目。3.5以后加入了对采用OOXML格式的Office 2007支持,如xlsx、docx、pptx文档。 
POI主页:poi.apache.org/

二:POI下载地址:http://poi.apache.org/download.html  目前版本最新版本3.13beta1,针对office2010及以下版本的正常读写功能3.5版本足以


三:POI组成部分概览


以下是POI的几个重要组成部分,以及各组件的功能概述。 

POIFS:是格式化OLE 2复合文档为纯Java的接口。 它同时支持读写功能。所有的组件,最终都依赖于它的定义

HSSF: MS-Excel 97-2003(.xls),基于BIFF8格式的JAVA接口。

HWPF: MS-Word 97-2003(.doc),基于BIFF8格式的JAVA接口。只支持.doc文件简单的操作,读写能力有限。

HSLF:MS - PowerPoint 97-2003 (.ppt),基于BIFF8格式的JAVA接口。

XSSF:MS-Excel 2007+(.xlsx),基于OOXML格式的JAVA接口。

XWPF:MS-Word 2007+(.docx),基于OOXML格式的JAVA接口。较HWPF功能完善。

XSLF: MS - PowerPoint 2007+(.pptx),基于OOXML格式的JAVA接口。较HWPF功能完善。



四:HWPF读写word97-2003实例

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
//
import org.apache.poi.hwpf.extractor.WordExtractor;

public class FileTextRead {
    public static void main(String[] args) {
	FileTextRead frs=new FileTextRead();
	System.out.println(frs.getTextFromWord("D:\\hwpftext.doc"));
	}
    public String getTextFromWord(String filePath){
  	String result = null;
  	File file = new File(filePath);
        try{
	    FileInputStream fis = new FileInputStream(file);
       	   //得到.doc文件提取器 
            WordExtractor wordExtractor = new WordExtractor(fis);
            //提取.doc正文文本 
            result = wordExtractor.getText();
            //提取.doc批注  
            //String[] comments = wordExtractor.getCommentsText(); 
            wordExtractor.close();
        }catch(FileNotFoundException e){
	    e.printStackTrace();
	}catch(IOException e){
	    e.printStackTrace();
		};
		return result;
	}
}
D:\text.doc文件内容如下

打印结果:

测试poi读取doc中分本文档

五:XWPF:MS-Word 2007+(.docx)
我们只能获取到其文本,而不能获取到其文本对应的属性值

package office.file.read;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.hwpf.extractor.WordExtractor;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;


public class FileTextRead {
	public static void main(String[] args) {
		FileTextRead frs=new FileTextRead();
		System.out.println(frs.getTextFromWord2007("D:\\xwpftext.docx"));
	}
	public String getTextFromWord2007(String filePath){
		InputStream is = null;
		XWPFDocument doc = null;
<pre name="code" class="java"><pre name="code" class="java">                String text="";

 try {is = new FileInputStream(filePath);doc = new XWPFDocument(is);
                        XWPFWordExtractor extractor = new XWPFWordExtractor(doc);  
	                text = extractor.getText();<pre name="code" class="java"><pre name="code" class="java">                        extractor.close();


 } catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace(); } //获得docx文件提取器 return text;}}

结果内容和打印结果同上


Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档 需求: 现有一个excel文档,该文档从第三行开始,每一行代表一个化石及其相关的登记资料,如图1,现在需要将每一行数据的内容,填写到对应的word文档中,并将入库照片编号对应的照片插入对应位置,如图2,最后要求不能生成单个的word文档,因为文档个数多了,不方便整理和打印,需要合并成一个或者多个; 图1: 图2: 实现思路: Java语言利用... 阅读详情

相关推荐

[简单]poi读取word 2007简单文本框值

NULL 博文链接:https://53873039oycg.iteye.com/blog/2187388

POI 处理word 文档中 文本框模板

最近处理word模板中发现存在文本框类型的模板,以前从未处理过只能百度一下了,结果大部分出现的都是https://jingyan.baidu.com/article/e4d08ffdd352690fd2f60d8b.html 这种情况的,大多数针对的都是固定的文档格式,感觉很难弄明白,官网也直指大概提了一下,并没有明显的demo,不过从侧面来讲倒是提供了解决的办法,只能靠自己了,首先需要处理的模板...

yousun4688的专栏 5495

POI 替换word2007文本框的值

POI 替换word2007文本框的值POI,包含word表中的文本框的值,定义好word模板即可替换word中的值。

poi解析word和excel,并且获取其中文字、图片、音频和视频的位置

最近在做一个项目,要求解析出来word和excel中的一些属性,开始没当回事,以为很简单,但是做着做着发现不对劲,国内好像没人会有这种需求,也是费了很多事时间才找到方法,分享出去让你们少走弯路,我也是个新手,勿喷。

weixin_50789048的博客 6281

POI读取word文件内容

POI读取word文件内容 word格式包括doc,docx两种。

java Apache poi 对word doc文件进行读写操作

使用POI读写Word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的。在hwpf里面我们使用HWPFDocument来表示一个word doc文档

Java使用POI提取word, Excel, PPt, txt的文本内容及文件属性中的作者

Java使用POI提取word, Excel, PPt, txt的文本内容及文件属性中的作者 新公司实习的第一个任务,在网上查了一些博客后接触到了poi,它为Java提供API对Microsoft Office文件进行读写操作的功能。 可以在apache官网下载jar包http://poi.apache.org/download.html [外链图片转存失败(img-5kpmwLhA-156816...

qq_39380838的博客 4976

POI读取word文档的文字内容和图片内容

POI读取word文档的文字内容和图片内容

Java通过poi读取word,excel,ppt文件中文本(excel,ppt部分)

word部分介绍了通过poi读取.DOC和.DOCX文档文字并返回字符串的方法,这篇继续excel以及ppt内容 word部分连接:http://blog.youkuaiyun.com/runningterry/article/details/47086659 POIFS:是格式化OLE 2复合文档为纯Java的接口。 它同时支持读写功能。所有的组件,最终都依赖于它的定义 HSS

RunningTerry的博客 2752

poi读取word只读纯文本

poi读取word只读纯文本,通过poi的jar包的辅助,读取word中的纯文本。

Linux系统搭建OpenClaw(原Clawdbot)全流程指南 最新版

工具定位:开源个人 AI 助手,支持文件读取、命令执行、多渠道交互(Telegram / 本地终端等);系统要求:主流 Linux 发行版(Ubuntu/Debian/CentOS 等),Node.js ≥22(核心依赖);安全提示:OpenClaw 为测试版,具备高权限操作能力,建议使用非主力机,配置权限白名单,避免接触敏感数据。

AI时代老码农的第二春 6560

POI处理Word、Excel、PowerPoint

第一:下载POI,在http://jakarta.apache.org/poi/中,下载poi-bin-3.5-beta4-20081128.zip,解压后把jar包引入项目工程。 第二:处理Word(Word.java)import org.apache.poi.hwpf.extractor.WordExtractor;import java.io.Fil

tim_zhang8888的专栏 5183

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载

本博客是最全的最好的解释的华中科技大学计算机组成实验存储系统实验,本博客给出了电路实现,也给出了使用电路的原因有利于新手学习十分详细。并且内赋源码下载。

qq_62325622的博客 2万+

Android中解析读取复杂word,excel,ppt等的方法

前段时间在尝试做一个Android里的万能播放器,能播放各种格式的软件,其中就涉及到了最常用的office软件。查阅了下资料,发现Android中最传统的直接解析读取word,excel的方法主要用了java里第三方包,比如利用tm-extractors-0.4.jar和jxl.jar等,下面附上代码和效果图。         读取word用了tm-extractors-0.4.jar包,代码如

卡小基的博客 2万+

Visual Studio Code 打开java项目

在 Visual Studio Code 中打开并运行一个 Java 项目之前,你需要确保你已经完成了一些初始设置。

2674

ROS2前置基础教程 | 小鱼教你用CMake依赖查找流程

上面我们用g++、make、cmake三种方式来编译ros2的C++节点。用cmake虽然成功了,但是CMakeLists.txt的内容依然非常的臃肿,我们需要将其进一步的简化。将上面的CmakLists.txt改成下面的样子 接着继续生成和编译 是不是非常的神奇,为什么可以浓缩成那么短的几句指令呢?find_package查找路径对应的环境变量如下。 打开终端,输入指令: 结果 观察PATH变量,你会发现赫然在其中,中的路径如果以或结尾,则自动回退到上一级目录,接着检查这些目录下的 cmake找到这些目录

生活不止眼前的苟且 7159

Apache_POI_详细使用教程(Java)实现Excel、Word及PPT等文档处理功能

Apache POI是一个Java库,用于读写Microsoft Office格式文件。它支持Excel(.xls/.xlsx)、Word(.doc/.docx)、PowerPoint等多种文件格式,提供丰富的API操作单元格、样式、公式等。主要包含HSSF/XSSF(Excel)、HWPF/XWPF(Word)、HSLF/XSLF(PPT)等组件,可通过Maven或Gradle引入依赖。示例展示了如何创建Excel文件、设置单元格类型和样式,包括文本、数字、日期、公式等内容。POI广泛应用于Java办公自

qq_52506743的博客 3327

华为交换机NAC配置避坑指南:搞定打印机、摄像头等哑终端接入(含MAC旁路认证)

本文详细解析华为交换机NAC配置中的MAC旁路认证方案,特别针对打印机、摄像头等哑终端接入问题提供避坑指南。通过对比传统模式与统一模式的配置差异,结合实际案例和典型错误排查,帮助网络工程师高效解决802.1X认证环境下的哑终端接入难题。

weixin_30338497的博客 441

Java:Java的jar包之POI的简介、安装、使用方法(基于POI将Word、Excel、PPT转换为html)之详细攻略

Java:Java的jar包之POI的简介、安装、使用方法(基于POI的转换—Word、Excel、Ppt等转html)之详细攻略 POI的简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 1、基本功能 HSSF - 提供读写Microsoft Excel格式档案的功能。 XSSF - 提供读写MicrosoftExcelOOXML格式档案的功能。 HWPF - 提供读

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 8109

2026基金本子新规必看!聚焦四大底层问题,利用AI辅助分别破解提升中标率

我拟申报的研究主题为【明确的研究主题或关键词组合】。选题方向也是评审专家关注的核心之一,申报前可以检索近五年领域前人中标项目,分析现有研究的空白与不足,并结合自身研究基础选择 “人无我有、人有我优” 的细分方向,如果是交叉学科选题,则要阐述不同学科的融合逻辑与创新点。“推动国家战略”、“带来行业发展”等宏观表述,有很多同仁都喜欢用这类话术开篇,但实际上宏大叙事无法替代具体的真实科学问题,明确不了研究要解决的核心痛点,更没有说明问题的现实针对性,评审看了往往抓不到研究的核心价值。

智能AI让学术科研更容易 294

PCL 模型滤波器【2025最新版】

根据给定的模型系数在点云中提取对应于模型的点云数据。博客长期更新,本文最新更新时间为:2025年6月17日。

点云侠的博客 4384

JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法

JAVA读取WORD,EXCEL,POWERPOINT,PDF文件的方法 http://blog.sina.com.cn/u/54c1567b010008vh OFFICE文档使用POI控件,PDF可以使用PDFBOX0.7.3控件,完全支持中文,用XPDF也行,不过感觉PDFBOX比较好,而且作者也在更新。水平有限,万望各位指正 WORD: import org.apache

ZKLxuankai的专栏 1341

UCIE Specification详解(八)

Logical Physical Layer(逻辑物理层)

Crazzy_M的博客 1608

Apache POI 是一个非常强大的 Java 库用于 Excel、Word 和 PowerPoint

Apache POI 是一个非常强大的 Java 库,用于读取和写入 Microsoft Office 格式的文件,包括 Excel、Word 和 PowerPoint。PowerPoint (HSLF 和 XSLF):用于读写 .ppt 和 .pptx 文件。Word (HWPF 和 XWPF):用于读写 .doc 和 .docx 文件。用途:用于读写 Microsoft PowerPoint .pptx 文件。用途:用于读写 Microsoft PowerPoint .ppt 文件。

qq_31839835的博客 1892

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java poi word宏_全面了解POI操作Microsoft Office(Word、Excel、PowerPoint)

POI 与 Microsoft Office1. POI 简介POI 是 Apache 下的 Jakata 项目的一个子项目,主要用于提供 java 操作 MicrosoftOffice 办公套件如 Excel,Word,Powerpoint 等文件的 API.微软的Office 办公软件在企业的日常办公中占据着重要的地位,人们已经非常熟悉Office 的使用。在我们开发的应用系统中,常常需要将数...

weixin_28677903的博客 1202

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: Java中成员变量和局部变量的区别
下一篇: Java通过poi读取word,excel,ppt文件中文本(excel,ppt部分)
RedKnife_
博客等级 码龄11年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值