Java中对于doc、docx、xls、xlsx、pdf内容读取

java 读取word内容 读取doc文件主要是poi-scratchpad的正确引入 阅读详情

一、引用所需要的jar包

 <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>4.0.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-scratchpad</artifactId>
        <version>4.0.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml-schemas</artifactId>
        <version>4.0.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>4.0.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>2.0.23</version>
    </dependency>

二、进行进行导包

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

三、读取文件内容

1、对于doc文件读取文件内容

    /**
     * doc读取文件内容
     * @param file       文件路径
     */
public String searchContent(File file) {
    String text = "";
    try (FileInputStream fis = new FileInputStream(file);
         HWPFDocument document = new HWPFDocument(fis)) {
        Range range = document.getRange();
        text = range.text();
        return text;
    } catch (Exception e) {
        return text;
    }
}

2、docx文件读取文件内容

   /**
     * 读取文件内容并搜索匹配的文本
     *
     * @param file       文件路径
     */
    public String docxSearchContent(File file) {
     	String s = "";
        try {
            FileInputStream fis = new FileInputStream(file);
            XWPFDocument document = new XWPFDocument(fis);
            List<XWPFParagraph> paragraphs = document.getParagraphs();
            for (XWPFParagraph paragraph : paragraphs) {
                String text = paragraph.getText();
                s += text;
            }
            document.close();
            fis.close();
            return s;
        } catch (Exception e) {
            return s;
        }
    }

3、pdf文件内容读取

/**
 * 读取pdf进行匹配
 *
 * @param file 文件
 */
private String pdfSearch(File file) {
    String info = "";
    try {
        //multipartFile为multipartFile文件类型,将文件转化为文件流被PDDocument加载
        PDDocument document = PDDocument.load(file);
        document.getClass();
        //使用PDFTextStripper 工具
        PDFTextStripper tStripper = new PDFTextStripper();
        //设置文本排序,有规则输出
        tStripper.setSortByPosition(true);
        //获取所有文字信息
        info = tStripper.getText(document);
        document.close();
        return info;
    } catch (Exception e) {
        return info;
    }
}

4、xlsx文件内容读取

 /**
 * @param file 文件
 * @return List<List<String>> 
 */
private List<List<String>>  xlsxSearch(File file) {
 List<List<String>> listAll = new ArrayList<>();
    try {
       
        // 1. 创建 Workbook 对象
        Workbook workbook = new XSSFWorkbook(new FileInputStream(file));

        // 2. 创建 Sheet 对象
        // 第一个工作表
        Sheet sheet = workbook.getSheetAt(0);

        // 3. 遍历每一行,获取单元格数据
        for (Row row : sheet) {
            List<String> list = new ArrayList<>();
            for (Cell cell : row) {
                String value;
                cell.setCellType(CellType.STRING);
                if (null == cell) {
                    value = "";
                } else {
                    value = cell.toString();
                }
                list.add(value);
            }
            listAll.add(list);
        }
        // 4. 关闭 Workbook 对象
        workbook.close();
        return listAll;
    } catch (Exception e) {
        log.info("xlsxSearch==[{}]", e);
         return listAll;
    }
}

5、xls文件内容读取

 /**
     * 
     * @param file 文件
     * @return List<List<String>>
     */
private List<List<String>> xlsSearch(File file) {
    List<List<String>> listAll = new ArrayList<>();
    boolean flag = false;
    try {
        // 1. 创建 Workbook 对象
        HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(file));
        // 2. 创建 Sheet 对象
        // 第一个工作表
        HSSFSheet sheet = workbook.getSheetAt(0);
        // 3. 遍历每一行,获取单元格数据
        for (Row row : sheet) {
            List<String> list = new ArrayList<>();
            for (Cell cell : row) {
                String value;
                cell.setCellType(CellType.STRING);
                if (null == cell) {
                    value = "";
                } else {
                    value = cell.toString();
                }
                list.add(value);
            }
            listAll.add(list);
        }
        // 4. 关闭 Workbook 对象
        workbook.close();
        return listAll;
    } catch (Exception e) {
       return listAll;
    }
}
java小知识:解析读取docx文档的文本内容 docx文档解析,XWPFDocument 阅读详情

相关推荐

JAVA读取(DOC、DOCX、PDF、PPT、PPTX)文件文本内容及图片

关于文档解析,在网上搜索了很久,无奈内容太过繁杂,找不到合适的代码,一大半都是只支持文本,丝毫不提图片。没办法,只能自己在网上一点一点CV了,最终提取了这些代码,不能说好用吧,应该可解燃眉之急。

m0_63270887的博客 3289

Java读取word文档中的内容

Java读取word文档中的内容

jicanwei优快云的博客 3705

Dify+工作流,通过多模态实现发票自动识别

上个章节我们用Dify实现了基于本地知识库的聊天助手,本节我们通过工作流 ,可视化界面快速构建复杂的工作流和自动化流程。结合 OCR(光学字符识别)技术和工作流引擎,可以实现发票的自动识别、数据提取以及后续的审批流程。本文将详细介绍如何使用 Dify 和工作流来实现发票的自动识别与审批。

odin2005的博客 7425

用 Java 轻松读取 Word 文档内容

嘿,朋友们!在 Java 开发里,有时候咱得读取 Word 文档里的内容,这在处理合同、报告等文件时特别有用。咱可以根据 Word 文档的格式,用不同的库来实现读取功能。下面就详细说说.doc和.docx这两种常见格式文档的读取方法。

十年磨一剑,java开发各种业务系统 5040

别再死记硬背了!用Python+Matlab/Simulink手把手带你理解PID控制器的‘稳、快、准’

本文通过Python编程和Matlab/Simulink仿真,深入解析PID控制器的‘稳、快、准’三大核心指标,帮助读者直观理解PID控制的实现原理与参数整定技巧。内容涵盖经典控制理论和自动控制原理,提供实战案例和高级调参技巧,适合工业自动化领域的学习者和工程师。

weixin_42551227的博客 368

IAR下载Linux环境适配:入门级安装指导

详细介绍如何在Linux系统中完成iar下载与环境配置,帮助开发者快速上手IAR集成开发环境,解决常见安装问题,提升开发效率。

weixin_35754676的博客 758

java读取docx_Java读取doc、docx、xls、xlsx、ppt、pptx、pdf文件内容

读取文件信息所需依赖org.apache.poipoi4.1.2org.apache.poipoi-scratchpad4.1.2org.apache.poipoi-ooxml4.1.2org.apache.pdfboxpdfbox2.0.12org.apache.pdfboxfontbox2.0.12读取doc文件内容public static String readWord(String na...

weixin_30844301的博客 947

Ragflow技术栈分析及二次开发指南

Ragflow是目前团队化部署大模型+RAG的优质方案,不过其仍不适合直接部署使用,本文将从实际使用的角度,对其进行二次开发

兴趣使然的创作者 1万+

JAVA解析PDF、WORD、EXCEL文档

java读取PDF、WORD文档中的内容

幸爷的博客 2万+

PCB布局布线要求及多层电路板叠加原则

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考本文主要针对PCB布局布线中的要点进行了总结,并对多层电路板的叠加原则进行了解释。

Ka_wyb的博客 2932

Jetson平台XDMA PCIe驱动安装与测试全指南

本文提供了一份在NVIDIA Jetson平台上安装与测试Xilinx FPGA XDMA PCIe驱动的完整指南。详细阐述了驱动作为高速DMA引擎的核心作用,并逐步讲解了从环境准备、驱动编译、内核模块加载到实际数据传输测试的全过程。内容涵盖常见问题排查与性能优化建议,帮助开发者实现Jetson与FPGA间的高速数据通信,适用于自动驾驶、工业视觉等需要异构计算的应用场景。

weixin_29196315的博客 525

通过文件路径获取文件(pdf/doc/docx/xls/xlsx)并输出文件内容

最近在开发过程中,遇到了需要将附件中的文本读出存储到数据库中的问题,下面就记录一下各个格式文本的读取方式,大家按需索取,如有不明白的地方,欢迎留言讨论。 String filePath = “你的文件路径"; 注意,要精准到文件的后缀名,比如D:/demo.doc; File file = new File(filePath); 当文件后缀为doc时: if(file.isFile() && file.exists()) { if (fi

不吃草的程序猿的博客 1456

27、VXLAN BGP EVPN网络的自动化部署与运维管理

本文深入探讨了VXLAN BGP EVPN网络从初始配置到运维管理的全生命周期自动化流程,涵盖Day-0设备自动上线、Day-0.5增量变更与连接验证、Day-1覆盖服务配置与计算集成,以及Day-2监控与故障排查。详细介绍了推送与拉取两种配置模型、主流工具如Cisco VTS、NFM、DCNM的功能特点,以及开源自动化工具的应用。通过流程图和命令示例,系统展示了MAC/IP学习、BGP通告和VXLAN封装的验证方法,为构建高效、可扩展的数据中心网络提供了全面的技术指导。

banana的博客 80

doc,docx,pdf,ppt等文件类型读取方法

//读取ppt文件 public String readPPT(String file) throws IOException { String re=""; InputStream is = null; try{ is = new FileInputStream(new File(file));

Radom&7 2463

Dify智能体开发:发布嵌入网站

Dify 支持将你的 AI 应用嵌入到业务网站中,你可以使用该能力在几分钟内制作具有业务数据的官网 AI 客服、业务知识问答等应用。点击 WebApp 卡片上的嵌入按钮,复制嵌入代码,粘贴到你网站的目标位置。

王国平的博客 3243

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

用java读取多种文件格式的文件(pdf,pptx,ppt,doc,docx..)

本文通过开源pdfbox和poi进行处理多种文件格式的文本读入 1.需要的jar的maven坐标: <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>2.0.2</version> </dependency> <!-- p

weixin_45415148的博客 630

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

读取文件(txt,doc,docx,xlsx,xls,pdf)内容并转化为base64编码

将文件(txt,doc,docx,xlsx,xls,pdf)内容转化为base64编码;读取文件的内容; 运行结果 1.添加maven依赖 版本自行更改 <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId> <version>1.8.8&lt

weixin_60382322的博客 3907

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

java读取文件的内容(不乱码)

package com.mswheat.filecontent; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Arrays; import java.util.List; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.AutoDetectParser; imp

Roller_coaster的博客 348

java 各种读取_Java读取各种文件格式内容

importjava.io.BufferedInputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.text.NumberFormat;importorg.apache.commons.io.FileUtils;importorg.apache.pdfbox....

weixin_36160268的博客 322

Java读取各种文件格式内容

所需的jar包哦也不要太记得了,大家可以搜搜,直接上代码: import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.text.NumberFormat; import org.a...

weixin_30359021的博客 305

java appt_eclipse-java读取ppt

展开全部java中读e69da5e6ba903231313335323631343130323136353331333339653766取ppt的实现方法如下:public class ReadFileUtils {/*** @param args* @throws Exception*/public static void main(String[] args) throws Exception...

weixin_39593498的博客 190

java之读取office各种文档

jar包: <!-- 读取doc/docx/pdf -start--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.1.4</version> </dependency> <dependency> <groupI

qq_37318800的博客 684

java对一些文件格式的操作(读写)

java对一些文件格式的操作交流简单

s_sos0的博客 2275

java读取word txt pdf_Java 读取Word Excel PDF TXT 文本

packagecom.example.demo.read;importorg.apache.poi.POIXMLDocument;importorg.apache.poi.POIXMLTextExtractor;importorg.apache.poi.hslf.extractor.PowerPointExtractor;importorg.apache.poi.hssf.usermodel.HS...

weixin_36463451的博客 252

读取共享文档

环境准备 txt利用common-io pdf利用pdfbox 剩下的用POI 关于POI,读取xls没啥特别的,主要是读取doc和ppt, 需要下载poi源代码,然后将poi-src-3.7-20101029.zip\poi-3.7\src\scratchpad\src下的所有文件copy到工程,或者自己封装个jar包 jar包依赖 code如下: package t

ntboss2002的专栏 501

java poi读取word中附件_工具类_JavaPOI_Office文件内容读取

importorg.apache.commons.io.FileUtils;importorg.apache.pdfbox.io.RandomAccessBuffer;importorg.apache.pdfbox.pdfparser.PDFParser;importorg.apache.pdfbox.pdmodel.PDDocument;importorg.apache.pdfbox.text....

weixin_34541572的博客 1236
上一篇: java实现docx、doc、xlsx、xls、ppt文件转换pdf文件
下一篇: 对于浏览器预览pdf展示标题用java进行修改展示文件名
liu
博客等级 码龄8年 32粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值