it编程 > 编程语言 > Java

使用Java读取Excel文件内容的三种方法

1人参与 2025-12-09 Java

在日常开发中,我们常常需要读取excel文件中的数据进行进一步处理。无论是批量导入数据、统计分析,还是自动化表格处理,java都可以提供高效、稳定的读取方式。

本文将介绍如何使用 spire.xls for java 读取excel文件中的内容,涵盖从文件或流中加载、按单元格读取文本和数值、识别单元格类型以及提取公式等多种实用技巧。示例代码简单明了,适合初学者上手,也可作为构建复杂excel处理功能的基础。

maven:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependency>
    <groupid>e-iceblue</groupid>
    <artifactid>spire.xls.free</artifactid>
    <version>5.3.0</version>
</dependency>

方法1:从excel文件中逐行读取所有内容

如果我们需要读取整个表格的数据,可以通过遍历工作表中所有已用单元格来获取值。

示例代码

import com.spire.xls.*;

public class readexcel {
    public static void main(string[] args) {
        // 创建workbook对象并加载excel文件
        workbook workbook = new workbook();
        workbook.loadfromfile("data.xlsx"); // 或 "data.xls"

        // 获取第一个工作表
        worksheet sheet = workbook.getworksheets().get(0);

        // 遍历每一行每一列,读取单元格内容
        for (int i = 1; i <= sheet.getlastrow(); i++) {
            for (int j = 1; j <= sheet.getlastcolumn(); j++) {
                string celltext = sheet.getcellrange(i, j).getvalue();
                system.out.print(celltext + "\t");
            }
            system.out.println();
        }
    }
}

说明:

读取结果:

方法2:通过inputstream读取excel文件

当excel文件来自网络、数据库或其他流形式时,我们可以通过 inputstream 加载它,无需将文件先保存在磁盘。

示例代码

import com.spire.xls.*;
import java.io.*;

public class readexcelfromstream {
    public static void main(string[] args) throws filenotfoundexception {
        // 创建输入流对象
        inputstream stream = new fileinputstream("data.xlsx");

        // 加载excel文件
        workbook workbook = new workbook();
        workbook.loadfromstream(stream);

        system.out.println("load excel file successfully.");
    }
}

说明:

方法3:读取单元格的不同数据类型

除了文本,excel单元格中还可能包含数字、布尔值、日期、公式等。下面示例展示如何获取各种数据类型及公式信息。

示例代码

import com.spire.xls.*;
import java.util.date;

public class readcelltypes {
    public static void main(string[] args) {
        workbook workbook = new workbook();
        workbook.loadfromfile("data.xlsx");

        worksheet sheet = workbook.getworksheets().get(0);
        cellrange cell = sheet.getrange().get(2, 1); // b2

        string text = cell.gettext(); // 显示文本
        string value = cell.getvalue(); // 原始字符串
        object value2 = cell.getvalue2(); // 通用对象

        string formula = cell.getformula(); // 公式内容
        string result = cell.getenvalutedvalue(); // 公式计算结果

        double number = cell.getnumbervalue(); // 数值
        date date = cell.getdatetimevalue(); // 日期
        boolean bool = cell.getbooleanvalue(); // 布尔值

        system.out.println("text: " + text);
        system.out.println("raw value: " + value);
        system.out.println("formula: " + formula);
        system.out.println("evaluated result: " + result);
        system.out.println("number: " + number);
        system.out.println("date: " + date);
        system.out.println("boolean: " + bool);
    }
}

说明:

总结

本文介绍了三种在java中读取excel文件的方法,涵盖了从本地文件与流中加载、按行读取数据、以及单元格类型识别等多个实用场景。通过这些技巧,我们可以轻松实现对excel文件内容的灵活读取与后续处理。

以上就是使用java读取excel文件内容的三种方法的详细内容,更多关于java读取excel文件内容的资料请关注代码网其它相关文章!

(0)

您想发表意见!!点此发布评论

推荐阅读

SpringBoot 实现多租户架构的步骤实践

12-09

Spring Boot 异步HTTP客户端配置使用

12-09

SpringBoot 启动时自动执行代码的几种方式讲解

12-09

Java线程池核心参数原理及使用指南

12-09

使用Java将CSV文件转换为格式化的Excel文件

12-09

Java线程池配置原则与实战解析

12-09

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论