当前位置:首页 > Java

java如何读word

2026-03-25 12:34:52Java

读取Word文档的方法

在Java中读取Word文档通常使用Apache POI库或docx4j库。以下是两种常用方法的详细说明。

使用Apache POI读取Word文档

Apache POI是Apache基金会提供的开源库,支持读取和写入Microsoft Office格式文件。

添加依赖 在Maven项目中添加以下依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.2.3</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>5.2.3</version>
</dependency>

读取.docx文件

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadDocx {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("example.docx");
        XWPFDocument document = new XWPFDocument(fis);

        for (XWPFParagraph paragraph : document.getParagraphs()) {
            System.out.println(paragraph.getText());
        }

        document.close();
        fis.close();
    }
}

读取.doc文件

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.extractor.WordExtractor;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadDoc {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("example.doc");
        HWPFDocument document = new HWPFDocument(fis);
        WordExtractor extractor = new WordExtractor(document);

        System.out.println(extractor.getText());

        document.close();
        fis.close();
    }
}

使用docx4j读取Word文档

docx4j是另一个专门处理Office Open XML格式的Java库。

添加依赖

<dependency>
    <groupId>org.docx4j</groupId>
    <artifactId>docx4j</artifactId>
    <version>11.4.4</version>
</dependency>

读取.docx文件

import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
import java.io.File;

public class ReadDocxWithDocx4j {
    public static void main(String[] args) throws Exception {
        WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File("example.docx"));
        MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
        System.out.println(mainDocumentPart.getContent());
    }
}

处理Word文档中的表格

使用Apache POI处理Word文档中的表格:

import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;

// 在读取docx的代码中添加
for (XWPFTable table : document.getTables()) {
    for (XWPFTableRow row : table.getRows()) {
        for (XWPFTableCell cell : row.getTableCells()) {
            System.out.print(cell.getText() + "\t");
        }
        System.out.println();
    }
}

注意事项

不同版本的Word文档(.doc和.docx)需要使用不同的类来处理。.docx基于Office Open XML格式,而.doc基于二进制格式。

处理大型Word文档时,可能需要考虑内存使用情况,可以使用事件驱动的解析方式减少内存消耗。

java如何读word

读取Word文档时可能会遇到格式复杂的文档,需要根据实际需求调整解析逻辑。

标签: javaword
分享给朋友:

相关文章

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

java如何输入数组

java如何输入数组

输入数组的方法 在Java中,可以通过多种方式输入数组,具体取决于输入源(如控制台、文件等)和数组类型(如基本类型或对象类型)。以下是几种常见的方法: 使用Scanner从控制台输入 对于基本数据类…

java如何配置环境变量

java如何配置环境变量

配置Java环境变量的方法 下载并安装JDK 从Oracle官网或OpenJDK下载适合操作系统的JDK安装包。运行安装程序并按照提示完成安装,记下JDK的安装路径(例如C:\Program File…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

如何查看java版本

如何查看java版本

查看Java版本的命令行方法 在终端或命令提示符中运行以下命令,可以快速查看已安装的Java版本: java -version 输出示例: java version "17.0.1" 20…

java如何创建文件

java如何创建文件

创建文件的方法 在Java中创建文件可以通过多种方式实现,以下是常见的几种方法: 使用File.createNewFile()方法 这种方法适用于简单的文件创建需求。需要先创建一个File对象,然…