java excel 操作 poi_java使用POI进行Excel操作

Java花式处理EXCEL

aeb15d25443e0bd8051d658d926759a4.png

2019.07.04 10:04:07字数 902阅读 2,407

java批量处理专题——用户将Excel上传到服务器,服务器如何解析Excel并将其解析为java对象?

format,png

image

1. 简单API介绍

1.1 workbook工作空间

由于Excel存在xls以及xlsx两种格式,所以创建方式也有所不同。

对于xls格式,需要使用HSSFWorkbook来创建对象;

对于xlsx格式,需要使用XSSFWorkbook来创建工作薄;

需要注意HSSFWorkBook与XSSSFWorkbook两个类都是Workbook接口的实现类。

首先,我们获取到文件后缀名,然后创建FileInputStream文件输入流。然后,根据文件格式的不同,选择不同的workbook。

1.2 Sheet

看到Excel模型中的sheet1(页面)了吗。其实就是定位到当前sheet进行处理的。

format,png

image

同样的创建Sheet的时候,也存在HSSFSheet和XSSFSheet这两种类型。所有我们使用其父类Sheet去处理对应的子类实现。

获取第一个sheet空间:

1.3 Row

作用是定位到特定的行。

sheet.getPhysicalNumberOfRows():返回物理定义的行数(不是工作表中的行数)

sheet.getLastRowNum():返回此sheet中最后一行的数字编号,默认是从0开始。

1.4 Cell

定位到特定的表格

获取到cell上的数据,进行“业务处理”,当然不同的业务逻辑不同,这里写几个特殊的处理方法。

1. 获取cell上的值,下标从0开始

2. 判断Cell的单元格格式

format,png

image

单元格格式的枚举类型

获取单元格的类型

判断单元格是否为空

设置单元格格式

若是文本格式,获取单元格里面的值

在批量上传的时候,推荐模板的单元格格式为文本模式。

如此一来,我们可以将Excel表格里面的数据全部解析出来。

2. 实战中的使用

当然,简单的API可以完成解析的,但是如何在项目中使用呢?

需求:对Excel处理完毕之后,需要记录成功多少笔,失败多少笔。

1. 用户点击上传成功之后,点击前端进行验证:

(1)创建List对象,将解析成功的Excel数据组装成对象保存在集合中;

(2)创建Map对象,保存解析失败的原因和row位置;

解析原文件

调用filePaserExcel(解析成功的对象,目标文件,解析成功Map,解析失败的Map)方法,解析Excel对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值