通过编程方式读取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单元格范围返回结果:

读取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文件,实现Excel数据的批量处理。Free Spire.XLS for Java 这个免费库还支持生成、转换、编辑、打印Excel文件等各种功能,有兴趣可前往其中文教程进行了解。

 

使用Java读取Excel文件数据的更多相关文章

  1. java读取excel文件数据导入mysql数据库

    这是我来公司的第二周的一个小学习任务,下面是实现过程: 1.建立maven工程(方便管理jar包) 在pom.xml导入 jxl,mysql-connector 依赖 可以在maven仓库搜索 2.建 ...

  2. java读取excel文件数据

    package com.smp.server.Ctrl; import java.io.File;import java.io.FileInputStream;import java.io.FileN ...

  3. 项目一:第四天 1、快递员的条件分页查询-noSession,条件查询 2、快递员删除(逻辑删除) 3、基于Apache POI实现批量导入区域数据 a)Jquery OCUpload上传文件插件使用 b)Apache POI读取excel文件数据

    1. 快递员的条件分页查询-noSession,条件查询 2. 快递员删除(逻辑删除) 3. 基于Apache POI实现批量导入区域数据 a) Jquery OCUpload上传文件插件使用 b) ...

  4. 上传读取Excel文件数据

    /// <summary> /// 上传读取Excel文件数据 /// 来自http://www.cnblogs.com/cielwater /// </summary> // ...

  5. Java读取Excel文件的几种方法

    Java读取 Excel 文件的常用开源免费方法有以下几种: 1. JDBC-ODBC Excel Driver 2. jxl.jar 3. jcom.jar 4. poi.jar 简单介绍: 百度文 ...

  6. java读取excel文件的代码

    如下内容段是关于java读取excel文件的内容,应该能对各朋友有所用途. package com.zsmj.utilit; import java.io.FileInputStream;import ...

  7. 关于解决java读取excel文件遇空行抛空指针的问题 !

    关于解决java读取excel文件遇空行抛空指针的问题 ! package exceRead; import java.io.File; import java.io.FileInputStream; ...

  8. java 读取Excel文件并数据持久化方法Demo

    import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util ...

  9. JAVA 读取excel文件成List<Entity>

    package com.fsinfo.common.utils; import com.fsinfo.modules.enterprise.entity.EnterpriseRecordEntity; ...

  10. VC6.0读取Excel文件数据

    啰嗦一下:本人所在公司从事碟式斯特林太阳能发电设备的研发与销售.单台设备图如下: 工作原理如下:整个设备大致可分为五个部分, 1.服务器,负责气象.发电等数据存取,电.网连接等处理: 2.气象站,通过 ...

随机推荐

  1. 云小课丨SA基线检查:给云服务来一次全面“体检”

    摘要:随着企业上云进程的加快,由于云服务配置不合理.不合规等引发的安全风险与日俱增.如果没有加以重视并做及时的诊断处置,将会对企业云上业务带来巨大的安全隐患. 本文分享自华为云社区<云小课丨安全 ...

  2. Kubernetes(K8S) 拉取镜像 ImagePullBackOff pull access denied

    K8S 拉取阿里云镜像  第一次用时,没注意 授权,所以在 kubectl apply 后一直出现  ImagePullBackOff [root@k8smaster ~]# kubectl appl ...

  3. MyBatis 核心组件 —— Configuration

    概述 Mybatis 的核心组件如下所示: Configuration:用于描述 MyBatis 的主配置信息,其他组件需要获取配置信息时,直接通过 Configuration 对象获取.除此之外,M ...

  4. 提供免费 TPU 的 ControlNet 微调活动来啦

    相信大家已经感受到 AI 绘画的魅力,多多少少也可以自称半个「prompt 小专家」了,而在 AI 绘画的时候 Stable Diffusion 也会出现一些小瑕疵,比如 AI 不是灵魂画「手」,还有 ...

  5. Apollo系列之架构设计(一)

    原创文章,转载请标注.https:https://www.cnblogs.com/boycelee/p/17967590 目录 一.什么是配置中心? 二.传统配置有什么问题? 三.配置中心的场景 四. ...

  6. 【JAVA基础】String处理

    String处理 字符串查找子串及截取 // 保存的头像文件的文件名 String suffix = ""; String originalFilename = file.getO ...

  7. 反应式编程 RxJava 设计原理解析

    本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/duO1pAfaKUI2_x_GVvZHMg作者:Yunjie Ma 一.ReactiveX ...

  8. the server responded with a status of 413 (Request Entity Too Large) 解决

    前端上传文件,本地测试好的,放到服务器上出现了这个错误:the server responded with a status of 413 (Request Entity Too Large) 问题原 ...

  9. kafka集群三、增加密码验证

    系列导航 一.kafka搭建-单机版 二.kafka搭建-集群搭建 三.kafka集群增加密码验证 四.kafka集群权限增加ACL 五.kafka集群__consumer_offsets副本数修改 ...

  10. 元素可视区client系列

    client翻译过来就是客户端,我们使用client系列的相关属性来获取元素可视区的相关信息. 通过client系列的相关属性可以动态的得到该元素的边框大小.元素大小等. client系列属性 作用 ...