Java通过HSSFWorkbook和WSSFWorkbook检验Excel文件内容

news/2024/11/28 23:41:24/

工作中需要后端来处理Excel文件的导入,需要检验Excel模板是否正确。故学习了HSSFWorkbook和WSSFWorkbook两种Excel处理器的使用方法

首先是验证的格式:
在这里插入图片描述
如图所示,我们现在要验证的就是当前上传的文件有符合A~H的标题格式。
需要注意的是,HSSFWorkbook和WSSFWorkbook是针对不同后缀文件来处理的。前者可以处理xls,后者可以处理xlsx。一些帖子说WSSFWorkbook也可以兼容处理xls,但我使用的版本不兼容。

以下是验证代码部分:
下面展示一些 内联代码片

public boolean parseExcel() throws IOException {/*  需要检验的文件路径 如果是需要文件做方法参数的话,可以用MultipartFile类型做形参*   然后String fileName = multipartFile.getOriginalFilename();即可*/String fileName="E://importTemplate (11).xls";HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(fileName));String[] columnName = {"A","B","C","D","E","F","G","H"};Sheet sheet = wb.getSheetAt(0);//提取第一个页面Row row = sheet.getRow(1);//提取第二行if (row != null && row.getLastCellNum() >= columnName.length) {//getLastCellNum就是获得多少列,在此例子中为8int lastCellNum = row.getLastCellNum();for (int idx = 0; idx < lastCellNum; idx++) {Cell cell = (row.getCell(idx));//这里cell是获取具体某行某列的内容if (cell.equals(null)) {return false;}String item = cell.toString();if (!columnName[idx].equals(item)) {return false;}}}return true;}

这样,就能够进行文档模板的检验了,如果是xlsx,将HSSFWorkbook 替换成WSSFWorkbook即可


http://www.ppmy.cn/news/366411.html

相关文章

最近很火的emlog资源网源码

介绍&#xff1a; 首先安装emlog5.3.1 安装后后台上传模板 然后去前台下载设置插件就ok 网盘下载地址&#xff1a; http://kekewangLuo.cc/7YJix5CEI5v 图片&#xff1a;

关于黑马项目SpringBoot章节的整合内容:postman测试通过,但是vue页面无法显示内容解决

调了三个多小时终于解决了 我真的哭死 错误图片 这是一直没有调试出来的图片 idea和Postman中都能显示 但是页面无法显示 解决办法 在黑马程序员springboot学习章节&#xff0c;项目名叫做 springboot_08_ssmp中&#xff0c;在做图书管理系统时&#xff0c;视频中定义了一个R…

gojs 生成Img 并下载

//画布生成Img 的其他属性定义详情查看gojs api, myDiagram.makeImage(); //通过gojs API获取画布的img对象 img myDiagram.makeImage({scale: 1,}); // 将图片的src属性作为URL地址 var url img.src; var a document.createElement(a); var event new MouseEvent(click)…

大数据错题库(微信群Bug整理)

文章目录 请教下大家&#xff0c;我们老的数仓用的Oracle&#xff0c;基于数仓做了些应用&#xff0c;主要是各种角度的查询&#xff0c;用的储存过程来实现。现在数仓转到Hadoop上&#xff0c;应用可以连接hadoop来取数&#xff0c;整体改造就大了&#xff0c;储存过程里的逻辑…

美化下下我的博客园

美化博客园 成天面对着单调的博客页面是否觉得单调&#xff1f; 这么有个性的你&#xff0c;难道不想DIY一下自己的博客园私属空间吗&#xff1f; 那么今天我们就来美化一下自己的博客园&#xff0c;让它看起来与众不同。 1.更换博客园背景和鼠标皮肤 Come Baby这个很简单的说&…

2023最新Web前端面试题精选大全及答案(一)

1.Opacity和grba的区别 是 opacity 会继承父元素的 opacity 属性&#xff0c;而 rgba 设置元素的后代元素不会继承不透明属性 2.Display&#xff1a;none和visibilty区别 display: none会产生回流和重绘&#xff0c;visibility:hidden;和opacity:0;只会引起页面重绘 回流一定会…

ROS示例----导航功能包Husky_exploration

ROS导航功能包示例husky amcl gmapping slam exploration 此功能包包含如下文件&#xff1a; 结构如下&#xff1a; $ tree -L 2 . ├── CMakeLists.txt -> /opt/ros/kinetic/share/catkin/cmake/toplevel.cmake ├── husky_base │ ├── CHANGELOG.rst │ ├──…

Bitmap font 使用方法

一&#xff0c;工具下载路径 BMFont Bitmap_font 二&#xff0c;资源 图片相同类型尺寸要一致 数字的问题不大&#xff0c;但是*/等符号的高度不一致 会导致图片位置不一致&#xff0c;比如下面 减在实际使用中就会靠上 没有上下居中 三.图片引入 点击Edit->Open image Man…