使用Java读取Excel文件数据的方法详解

 更新时间:2024年01月26日 16:27:16   作者:E-iceblue  
通过编程方式读取Excel数据能实现数据导入、批量处理、数据比对和更新等任务的自动化,本文为大家介绍了三种Java读取Excel文件数据的方法,需要的可以参考下

通过编程方式读取Excel数据能实现数据导入、批量处理、数据比对和更新等任务的自动化。这不仅可以提高工作效率还能减少手动处理的错误风险。此外读取的Excel数据可以与其他系统进行交互或集成,实现数据的无缝传输和共享,满足特定项目的需求。本文将从以下三个方面介绍如何通过Java读取Excel文件中的数据。

  • 读取某个单元格中的数据
  • 读取指定单元格范围的数据
  • 读取Excel工作表中的数据

安装免费Java库

操作Excel的免费Java库为 Free Spire.XLS for Java。该免费库在读写 .xls 格式的 Excel 文档时,有每个文档 5 个工作表,每个工作表 200 行的限制。但在读写 .xlsx 格式的 Excel 文档时是没有任何限制。

我么可以从下面链接下载产品包后手动引入jar包或者直接通过Maven仓库安装也可。

https://www.e-iceblue.cn/Downloads/Free-Spire-XLS-JAVA.html

读取Excel数据的核心方法

要读取Excel单元格、单元格范围、或者Excel工作表中的数据,我们需要用到Free Spire.XLS for Java库提供的以下接口:

  • Workbook类、Worksheet类:分别用于代表 Excel 工作簿、和工作簿中的工作表。
  • CellRange类:用于代表某个特定的单元格或单元格区域。
  • Worksheet.getCellRange(String name) 方法:获取某个单元格或单元格区域并返回 CellRange 对象。
  • Worksheet.getAllocatedRange() 方法:获取工作表中包含数据的单元格区域,并返回 CellRange 对象。
  • CellRange.getValue() 方法:获取单元格中的数值或文本值。(如果单元格有公式,该方法会返回公式而不是公式计算的结果)

输入文档:

Java代码示例

示例1 :使用Java 读取某个单元格的数据

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //创建Workbook对象
        Workbook wb = new Workbook();
 
        //加载Excel文件
        wb.loadFromFile("货物.xlsx");
 
        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //获取指定单元格
        CellRange cell = sheet.getCellRange("A9");
 
        //获取单元格数据
        System.out.print("A9单元格的值为 " + cell.getValue());
    }
}

读取A9单元格的值:

示例2:使用Java 读取某个单元格范围中的数据 

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //创建Workbook对象
        Workbook wb = new Workbook();
 
        //加载Excel文件
        wb.loadFromFile("货物.xlsx");
 
        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //获取指定单元格区域
        CellRange range = sheet.getCellRange("A11:F15");
 
        //遍历行和列
        for (int i = 0; i < range.getRows().length; i++) {
            
            for (int j = 0; j < range.getColumnCount(); j++) {
 
                //获取单元格数据
                System.out.print(range.get(i + 11, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
    }
}

 读取Excel单元格范围返回结果:

示例3:读取Excel工作表中的数据

import com.spire.xls.CellRange;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
 
public class ReadData {
 
    public static void main(String[] args) {
 
        //创建Workbook对象
        Workbook wb = new Workbook();
 
        //加载Excel文件
        wb.loadFromFile("货物.xlsx");
 
        //获取第一张工作表
        Worksheet sheet = wb.getWorksheets().get(0);
 
        //获取工作表中的数据区域
        CellRange locatedRange = sheet.getAllocatedRange();
 
        //遍历行和列
        for (int i = 0; i < locatedRange.getRows().length; i++) {
 
            for (int j = 0; j < locatedRange.getColumnCount(); j++) {
 
                //获取单元格中的数据
                System.out.print(locatedRange.get(i + 1, j + 1).getValue() + "  ");
            }
            System.out.println();
        }
    }
}

读取Excel工作表数据返回结果:

到此这篇关于使用Java读取Excel文件数据的方法详解的文章就介绍到这了,更多相关Java读取Excel数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot接收 Form 表单数据的示例详解

    Springboot接收 Form 表单数据的示例详解

    这篇文章主要介绍了Springboot接收 Form 表单数据的实例代码,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • SpringBoot整合Lucene实现全文检索的详细步骤

    SpringBoot整合Lucene实现全文检索的详细步骤

    全文搜索(Full-Text Search)是指对大规模存储在计算机系统中的文本数据进行检索和匹配的技术,它允许用户输入关键字,然后从海量的文本数据中快速找到相关的信息,本文介绍了SpringBoot整合Lucene实现全文检索的详细步骤,需要的朋友可以参考下
    2024-03-03
  • 解决springboot+activemq启动报注解错误的问题

    解决springboot+activemq启动报注解错误的问题

    这篇文章主要介绍了解决springboot+activemq启动报注解错误的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java基础之多线程

    Java基础之多线程

    以下是我们Java基础多线程的一些知识点总结,看完以后会觉得多线程也可以这么简单,小编精心推荐,希望能对大家有所帮助
    2018-09-09
  • Java如何实现数字逆序

    Java如何实现数字逆序

    这篇文章主要介绍了Java如何实现数字逆序问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Spring纯Java配置集成kafka代码实例

    Spring纯Java配置集成kafka代码实例

    这篇文章主要介绍了Spring纯Java配置集成kafka代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Spring中@Import的各种用法以及ImportAware接口详解

    Spring中@Import的各种用法以及ImportAware接口详解

    这篇文章主要介绍了Spring中@Import的各种用法以及ImportAware接口详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Spring Bean的生命周期详细介绍

    Spring Bean的生命周期详细介绍

    这篇文章主要介绍了Spring Bean的生命周期的相关资料,需要的朋友可以参考下
    2016-09-09
  • Java 中的 @SneakyThrows 注解的使用方法(简化异常处理的利与弊)

    Java 中的 @SneakyThrows 注解的使用方法(简化异常处理的利与弊)

    @SneakyThrows是Lombok提供的一个注解,用于简化Java方法中的异常处理,特别是对于检查型异常,它允许方法抛出异常而不必显式声明或捕获这些异常,本文介绍Java 中的 @SneakyThrows 注解的使用方法,感兴趣的朋友一起看看吧
    2025-03-03
  • java图形界面之布局设计

    java图形界面之布局设计

    这篇文章主要介绍了java图形界面之布局设计的相关资料,需要的朋友可以参考下
    2015-06-06

最新评论