Java读取Excel表格中的数据

简介: Java读取Excel表格中的数据

前言


本文主要讲述如何在Java中读取Excel表中的数据并在控制台输出,实现工具为Eclipse

提示:以下是本篇文章正文内容,下面案例可供参考

一、添加jar包文件


描述:在Java中导入导出Excel文件要引入jxl.jar包。这套API是纯Java的,并不依赖Windows系统,即使运行在Linux操作系统下也同样能够正确的处理Excel文件。

jar包获取地址: 链接:https://pan.baidu.com/s/1bzyVzo_8Xc_7IFIFavYmyg

提取码:xhzy

1.在Eclipse工程下新建lib文件夹


image.png

2.复制jar包


image.png

3.将jar包粘贴到Eclipse中


image.png

此时Eclipse中jar包文件是这个样子,说明并没有导入jar包,接下来进行配置构建路径

4.配置构建路径


鼠标移动到工程名处,右击Build Path > Configure Build Path…

image.png

类路径下添加外部jar包

image.png

选中Java项目工程中的lib文件夹下的jxl.jar包,点击确定应用并关闭

image.png

当jar包变成这个样子以后就说明该Java项目工程中成功添加了该jar包

image.png

二、案例代码


在桌面上创建了后缀名为.xls的表格文件作为本案例的测试表格,表格内容如下所示:

image.png

image.png

1.新建类


在Java项目工程中我创建了一个只包含有main方法的类

代码如下(示例):

packagecom.dreamfly;
publicclassExcelImport {
publicstaticvoidmain(String[] args) {
    }
}

2.获取Excel文件


代码如下(示例):

Filefile=newFile("C:\\Users\\飞翔的兰\\Desktop\\student.xls");
Workbookwb=Workbook.getWorkbook(file);

通过File类的构造方法将给定路径名字符串转换为抽象路径名来创建一个新的File实例

再通过Workbook接口中的getWorkbook方法读取Excel表格(后缀名只能为.xls

查看Excel文件位置的方法:

找到桌面上的Excel文件右击,选择属性

image.png

image.png

3.获取指定的sheet页码


在导入Excel表格后接着就是获取要读取表格哪一页的的数据

Sheet sheet = wb.getSheet("Sheet1");

这里是通过指定的Sheet页的名字获取指定的Sheet页也可以通过索引获取Sheet页


4.获取单元格数据


通过两个for循环获取单元格的数据,外循环控制行内循环控制列

for (inti=0; i<sheet.getRows(); i++) {
for (intj=0; j<sheet.getColumns(); j++) {
Cellcell=sheet.getCell(j,i);
System.out.print(cell.getContents()+"\t");      //\t代表tab键的字符            }
System.out.println();               //设置每查询完一行就换行        }

代码中的getCell方法获取的是指定单元格对象,参数是column(列)row(行)行和列的索引均从0开始

for循环当中的控制条件可以利用getRows方法和getColumns方法来获取Excel表格中存在数据的行数和列数

5.关闭工作簿资源


wb.close();

三、运行结果:


image.png

四、案例源码


packagecom.dreamfly;
importjava.io.File;
importjxl.Cell;
importjxl.Sheet;
importjxl.Workbook;
publicclassExcelImport {
publicstaticvoidmain(String[] args) throwsException {
//Excel办公,以表格形式存在//如何实现:1.fastExcel 2.jxl解析(第三方) 3.poi方式(第三方)//通过jxl方式解析Excel步骤如下://1. 导入jxl的jar包//2. 获取到Excel文件Filefile=newFile("C:\\Users\\飞翔的兰\\Desktop\\student.xls");
Workbookwb=Workbook.getWorkbook(file);
//3. 获取指定的sheet页码   通过指定的Sheet页的名字获取指定的Sheet页,也可以通过索引获取SheetSheetsheet=wb.getSheet("Sheet1");
//4. 获取指定的单元格的数据  通过getCell方法获取指定单元格对象,参数是column,row,索引从0开始//      Cell cell = sheet.getCell(0,0);//      System.out.println(cell.getContents());//4.1 循环获取指定的行和列的单元格的值     外循环控制行,内循环控制列for (inti=0; i<sheet.getRows(); i++) {
for (intj=0; j<sheet.getColumns(); j++) {
Cellcell=sheet.getCell(j,i);
System.out.print(cell.getContents()+"\t");      //\t代表tab键的字符            }
System.out.println();               //设置每查询完一行就换行        }
wb.close();    //将工作簿的资源关闭    }
}
相关文章
|
5天前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
22 1
|
3天前
|
数据采集 存储 JavaScript
自动化数据处理:使用Selenium与Excel打造的数据爬取管道
本文介绍了一种使用Selenium和Excel结合代理IP技术从WIPO品牌数据库(branddb.wipo.int)自动化爬取专利信息的方法。通过Selenium模拟用户操作,处理JavaScript动态加载页面,利用代理IP避免IP封禁,确保数据爬取稳定性和隐私性。爬取的数据将存储在Excel中,便于后续分析。此外,文章还详细介绍了Selenium的基本设置、代理IP配置及使用技巧,并探讨了未来可能采用的更多防反爬策略,以提升爬虫效率和稳定性。
|
7天前
|
Java
jvm复习,深入理解java虚拟机一:运行时数据区域
这篇文章深入探讨了Java虚拟机的运行时数据区域,包括程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区、元空间和运行时常量池,并讨论了它们的作用、特点以及与垃圾回收的关系。
39 19
jvm复习,深入理解java虚拟机一:运行时数据区域
|
2天前
|
easyexcel Java UED
SpringBoot中大量数据导出方案:使用EasyExcel并行导出多个excel文件并压缩zip后下载
在SpringBoot环境中,为了优化大量数据的Excel导出体验,可采用异步方式处理。具体做法是将数据拆分后利用`CompletableFuture`与`ThreadPoolTaskExecutor`并行导出,并使用EasyExcel生成多个Excel文件,最终将其压缩成ZIP文件供下载。此方案提升了导出效率,改善了用户体验。代码示例展示了如何实现这一过程,包括多线程处理、模板导出及资源清理等关键步骤。
|
4天前
|
存储 Java API
如何使用 Java 记录简化 Spring Data 中的数据实体
如何使用 Java 记录简化 Spring Data 中的数据实体
26 9
|
4天前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
13 1
|
5天前
|
消息中间件 Java Kafka
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
11 1
|
5天前
|
Java 数据库 Spring
java读取配置文件数据
java读取配置文件数据
17 0
|
Java C语言 C++
Java 的数据类型划分(数据类型划分)| 学习笔记
快速学习 Java 的数据类型划分(数据类型划分)
113 0
Java 的数据类型划分(数据类型划分)| 学习笔记
|
Java 开发者 Windows
Java 数据类型划分(字符型)|学习笔记
快速学习 Java 数据类型划分(字符型)
122 0