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();    //将工作簿的资源关闭    }
}
相关文章
|
2月前
|
Java API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
203 3
|
2月前
|
算法 Java
Java多线程编程:实现线程间数据共享机制
以上就是Java中几种主要处理多线程序列化资源以及协调各自独立运行但需相互配合以完成任务threads 的技术手段与策略。正确应用上述技术将大大增强你程序稳定性与效率同时也降低bug出现率因此深刻理解每项技术背后理论至关重要.
221 16
|
3月前
|
移动开发 JavaScript
(H5查看CAD)网页CAD提取图纸表格到excel
本文介绍如何通过自定义MxCAD插件,在Web端智能识别CAD图纸中的表格,实现自动合并与高效导出至Excel,提升数据提取效率与准确性。内容涵盖区域选择、图形识别、表格结构重建、单元格合并及内容导出等关键技术,适用于工程图纸数据自动化处理场景。
|
3月前
|
数据采集 JSON Java
Java爬虫获取1688店铺所有商品接口数据实战指南
本文介绍如何使用Java爬虫技术高效获取1688店铺商品信息,涵盖环境搭建、API调用、签名生成及数据抓取全流程,并附完整代码示例,助力市场分析与选品决策。
|
3月前
|
数据采集 存储 前端开发
Java爬虫性能优化:多线程抓取JSP动态数据实践
Java爬虫性能优化:多线程抓取JSP动态数据实践
|
4月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
4月前
|
Python
将Excel特定某列数据删除
将Excel特定某列数据删除
|
4月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
传感器 分布式计算 安全
Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与分析技术(171)
本文围绕 Java 大数据在智能安防入侵检测系统中的应用展开,剖析系统现状与挑战,阐释多源数据融合及分析技术,结合案例与代码给出实操方案,提升入侵检测效能。