使用java poi解析表格
@Test
public void poi() throws Exception {
InputStream inputStream=new FileInputStream("C:\\Users\\Administrator.SKY-20170602BKZ\\Desktop\\111.xlsx");
//整个excel文件
XSSFWorkbook xssfSheets = new XSSFWorkbook(inputStream);
//每行的数据存一个list,然后每页的数据存到一个list
List<List<String>> result=new ArrayList<List<String>>();
//遍历XSSFWorkbook是否有多个sheet
for (XSSFSheet xss:xssfSheets){
//如果当前sheet为空则开始下一次循环
if (xss==null)
continue;
//循环当前页 获取每一行
for (int rowNum=1;rowNum<=xss.getLastRowNum();rowNum++){
ArrayList<String> rowlist= new ArrayList<String>();
XSSFRow row = xss.getRow(rowNum);
short firstCellNum = row.getFirstCellNum();
short lastCellNum = row.getLastCellNum();
//获取每一个单元格
Iterator<Cell> cellIterator = row.cellIterator();
while (cellIterator.hasNext()){
Cell next = cellIterator.next();
next.setCellType(Cell.CELL_TYPE_STRING);
rowlist.add(next.getStringCellValue());
}
result.add(rowlist);
} }
System.out.println(result); }
解析代码
原文地址:https://m.aliyun.com/yunqi/articles/369813?spm=a2c41.11123433.0.0
如果poi导入excel表格数据时报出Cannot get a text value from a numeric cell错误
异常描述:在导入excel的时候在获取excel单元格数据的时候会出现Cannot get a text value from a numeric cell的异常抛出。
异常原因:poi读取excel单元格的数据,cell有不同的数据类型(CELL_TYPE_NUMERIC,CELL_TYPE_STRING,CELL_TYPE_FORMULA),如果cell中的数据是数值的话,如果你没有给他设置cell的类型的话。默认会认为是CELL_TYPE_NUMERICl类型,如果从一个NUMBER类型的Cell使用.cell.getStringCellValue()读取出一个字符串就会出错。
解决的方法:在读取数据之前,设置cell的类型为CELL_TYPE_STRING;
cell.setCellType(Cell.CELL_TYPE_STRING);
使用java poi解析表格的更多相关文章
- Java POI 解析word文档
实现步骤: 1.poi实现word转html 2.模型化解析html 3.html转Map数组 Map数组(数组的操作处理不做说明) 1.导jar包. 2.代码实现 package com.web.o ...
- java POI 解析excel 2003和2007 直接转为List<Map> 返回
1.POI 官网下载jar包,3.5以上 2.项目导入jar包 3.参数:String数组--对应的excel列名对应的KEY,File excel文件,sheetNumber ---excel的s ...
- java poi解析excel报错处理
org.apache.xmlbeans.SchemaTypeLoaderException: XML-BEANS compiled schema: Incompatible minor version ...
- java poi解析excel日期为数字的问题
这个数字是什么呢?是以1900年为原点,到2015年8月21日,之间经过的天数. 知道这个后,就很好处理了,我们拿到1900年的日期,在这个日期上加上42237天即可.如下: Calendar cal ...
- java 使用 poi 解析excel
背景: web应用经常需要上传文件,有时候需要解析出excel中的数据,如果excel的格式没有问题,那就可以直接解析数据入库. 工具选择: 目前jxl和poi可以解析excel,jxl很早就停止维护 ...
- 使用Java POI来选择提取Word文档中的表格信息
通过使用Java POI来提取Word(1992)文档中的表格信息,其中POI支持不同的ms文档类型,在具体操作中需要注意.本文主要是通过POI来提取微软2003文档中的表格信息,具体code如下(事 ...
- java读写excel文件( POI解析Excel)
package com.zhx.base.utils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi ...
- SpringMVC文件上传 Excle文件 Poi解析 验证 去重 并批量导入 MYSQL数据库
SpringMVC文件上传 Excle文件 Poi解析并批量导入 MYSQL数据库 /** * 业务需求说明: * 1 批量导入成员 并且 自主创建账号 * 2 校验数据格式 且 重复导入提示 已被 ...
- Java读取excel表格
Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...
随机推荐
- 第一次使用cisco packet tracer
搭建一个如图所示的网络,左边局域网是10.0.0.0网段,右边局域网是12.0.0.0网段,中间为广域网11.0.0.0网段 上面的成功了,但是不是很熟悉,下面重新来一遍 1.先用可视化界面建立一个如 ...
- linux ./configure check your system clock
checking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sa ...
- [luogu1341][无序字母对]
luogu1341 思路 欧拉回路和欧拉路的裸题,首先判断是否存在欧拉路或者欧拉回路.当且仅当途中每个点的度数都为偶数时,存在欧拉回路.当且仅当图中度数为奇数的点的个数为2时,存在欧拉路.如果存在欧拉 ...
- 第二篇-ubuntu18.04下怎么制作GIF动画
一.在桌面打开终端 二.接着通过apt安装byzanz.sudo apt-get install byzanz 三.安装完成后在终端执行“xwininfo”.xwininfo 四.然后鼠标会变成“+” ...
- 基于django的自定义简单session功能
基于django的自定义简单session功能 简单思路: 1.建立自定义session数据库 2.登入时将用户名和密码存入session库 3.将自定义的随机session_id写入cookie中 ...
- bzoj 4326: NOIP2015 运输计划(二分+树链剖分)
传送门 题解: 树链剖分快速求解任意两点间的路径的权值和: 然后,二分答案: 此题的难点是如何快速求解重合路径? 差分数组可以否??? 在此之前先介绍一下相关变量: int fa[maxn]; int ...
- jenkins学习:jenkins的基本配置
_(:з)∠)_,发现写了gitlab和maven ,但是jenkins的详细步骤没有. 这里整理一下. 1.下载jenkins的war包,无需FQ. 网址:https://jenkins.io/do ...
- linux 下配置svn
1.以前配置好的,没做笔记,忘记了.现在重新回忆 查找svn目录:find / -name svn 找到/projects/svn cd /projects/svn 看里面的配置: 查看配置 [roo ...
- keepalived+LVS实现网站负载均衡和HA
如上图所示,102和103是内网nginx服务器,100和101是边界LB,clinet是1,这个实验是为了实现在LB上虚拟出一个VIP,client通过访问该VIP,来动态负载到两台内网nginx服 ...
- bzoj1040 基环树森林dp
https://www.lydsy.com/JudgeOnline/problem.php?id=1040 Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社 ...