BOS项目(SSH)05_06_POI解析Excel表格、区域设置功能——导入excel文件、过滤掉Excel中不需要的数据、通过使用Listremove掉不需要的数据

17 篇文章 0 订阅
10 篇文章 1 订阅

系列文章目录

前言——POI解析Excel表格

Apache POI 是干嘛的呢
它是用来 解析 Excel表格的
解析这个表格有什么作用呢
下载地址:http://poi.apache.org/
在这里插入图片描述
使用场景
在这里插入图片描述
如果数据量大的话,客户肯定不愿意一个一个新增的,太耗时费力了
那么我们能不能直接让它导入Excel
这个来进行高效率的操作呢
这个导入功能怎么做
就涉及到今天我们所讲的POI解析Excel表格
在这里插入图片描述
在这里插入图片描述
通过导入功能把文件导入到后台,
然后解析
最后存到数据库里面
这就是导入功能后台的逻辑
所以很简单
1、我们先把文件上传到后台(前面已经讲了一键上传)
2、这里我们又会讲POI解析,使用一个框架,所以基本上区域设置的导入功能就完成一半了

POI解析Excel表格的使用

1、什么是Apache POI
Apache POI 是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能
注意:读和写的功能,我们这里是读
2、Apache POI下载地址

Apache POI下载地址
http://poi.apache.org/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其实也可以在spring里面找,不一定非得下载
spring包里面有很多依赖,其中就包括了POI解析的依赖,也可以直接用
在这里插入图片描述
在这里插入图片描述
3、POI的使用
以项目中的区域设置为例

第一步:先导入jar包,解压后,只需要导入poi-3.9-20121203.jar一个jar包即可

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
要监听它的事件,就需要补上一个东西
在这里插入图片描述
然后实现这个方法
仔细想想这个思路对吗?

文档加载完成之后,加载upload事件
所以我们要找到文档加载完成的函数
在这里插入图片描述
把代码写在这下面,一定要注意,不要写错

第二步:实现《区域设置页面》的一键上传
绑定一键上传
去绑定“导入”按钮
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检查导入jquery和js一键上传的插件无误之后
在这里插入图片描述
在这里插入图片描述
可以导进去了,但是目前是一个表面上的东西,还没有实现逻辑,我们还需要进行下一步

第三步:配置好action,接收jsp提交的excel文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打印一下
在这里插入图片描述
看看临时路径

这里写完了之后,我们还需要配置一个struts
在这里插入图片描述
在这里插入图片描述
运行看一下,看看会不会打印,如果能够打印说明已经帮我们封装好一个File对象了
在这里插入图片描述
在这里插入图片描述
有这个就说明文件已经传过来了
第四步:解析excel表格数据
传过来之后,我们就可以解析excel中的表格数据了
这个时候就需要用PIO里面jar包里面的类
在这里插入图片描述
在这里插入图片描述
接下来就是获取sheet
在这里插入图片描述
sheet就是工作簿,
我们这里存数据的地方是sheet1
所以我们要去获取这个sheet1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
观察Sheet的源码我们可以得知,Sheet继承了迭代器,所以可以直接进行迭代
并且源码里面还提供了很多方法
那么到底该如何遍历呢?
迭代器可直接遍历,如下
在这里插入图片描述
测试一下:运行项目,选择文件,点击导入
在这里插入图片描述
在这里插入图片描述

第五步:将区域保存到数据库
在这里插入图片描述
先封装成模型,再调用service
在这里插入图片描述
在这里插入图片描述
注意这里如果直接new Region(id,province,city,district,postcode)报错的话,看下model里面,需要重构一下
在这里插入图片描述
切记无参构造也要加上
如果有参构造和无参构造都不加的话,就用set赋值,不要使用有参构造函数的方式去给对象赋值

在这里插入图片描述
接下来就是调用service
而这个前提就是三层(剩余的service、dao层)里面看看写了没有
没写的话,我们整一下这个套路
在这里插入图片描述
在这里插入图片描述
然后再写实现类,都照搬就好
这里不赘述了
在这里插入图片描述

在这里插入图片描述
dao层和service层写完之后
action就可以调用了
在这里插入图片描述
在这里插入图片描述
直接调用就可以了吗
其实不行
在这里插入图片描述
要过滤掉这个,直接调用不行,那么怎么解决呢?

这时候就需要List 了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个方法,写在公共里面更好,以后说不定还要用

在这里插入图片描述
在这里插入图片描述
List 是属于集合的,所以可以直接用
在这里插入图片描述
然后测试一下看看
如果多加2条数据
在这里插入图片描述
然后点击导入,将文件导进来

因为是循环,我们可以从控制台看到很多SQL语句
在这里插入图片描述
在这里插入图片描述
数据成功进来了,这个就说明成功了
在这里插入图片描述
注意这里如果没有SUCCESS的常量给你提示出来的话
就是没有实现这个
实现一下即可,如下
在这里插入图片描述
然后就要配置一下struts
在这里插入图片描述
又可以再测试一下
在这里插入图片描述
再导入一次
确实能够回到页面,但是页面的数据并没有更新
怎么更新表格数据呢?

表格数据显示

在这里插入图片描述
会想一下,我们修改取派员的时候是不是也是一样
但是我们的表格是转换成json才行的
这里也是一样,步骤如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
页码可以改小一点
在这里插入图片描述
在这里插入图片描述
拷贝过来改一改,注意不要漏掉前端返回的那两个属性
在这里插入图片描述

在这里插入图片描述
下面就是写这个 regionService
又是跟之前的staff一样,复制粘贴就行了
这里不赘述了,重复性工作,看懂了前面的这里肯定会
可以参考我的文章,上一篇
文章浏览
博文管理

总结

一共5步
第一步:先导入jar包,解压后,只需要导入poi-3.9-20121203.jar一个jar包即可
第二步:实现《区域设置页面》的一键上传
第三步:配置好action,接收jsp提交的excel文件
第四步:解析excel表格数据
第五步:将区域保存到数据库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值