poi——读取excel数据
单元格类型

读取Excel数据

package com.java.test.poi; import java.io.File;
import java.io.FileInputStream; import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class parseExcel {
// if(!wb.isSheetHidden(sheetnum)){}//判断工作表sheet是否被隐藏,隐藏返回true,未被隐藏返回false
// if(!row.getZeroHeight()){}//判断行是否隐藏,隐藏返回true
public static void mainParseExcel() {
//把所有文件种交易集合到一个list集合中
String xlsxpath = "C:/Users/Desktop/1.xlsx";
int startNum = 0;//从第几个sheet页开始解析
/*解Excel*/
Workbook wb = null; //创建工作簿对象
try{
FileInputStream fi = new FileInputStream(new File(xlsxpath));
wb = new XSSFWorkbook(fi); //操作Excel2007的版本,扩展名是.xlsx//xlsm文件也可以兼容
fi.close();//关闭输入流
} catch (Exception e){
System.out.println(e);
}
int num = wb.getNumberOfSheets();//得到sheet的个数
for(int sheetnum=startNum; sheetnum<num; sheetnum++){//行,列和sheet索引都是从0开始
if(!wb.isSheetHidden(sheetnum)){//判断工作表是否被隐藏,隐藏返回true,未被隐藏返回false
/**解sheet页*/
Sheet sheet = wb.getSheetAt(sheetnum); //获取给定索引处的Sheet对象。
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator(); //先返回XSSF和HSSF对象,再创建一个用于计算公式单元格的对象
int rowNum = sheet.getLastRowNum() + 1; //取最后一行的行号
/*双for循环遍历工作簿中单元格*/
for(int i=0; i<rowNum; i++){ //行循环
Row row = sheet.getRow(i); //行对象
int cellNum = row.getLastCellNum(); //取最后一列列号 for(int j=0; j<cellNum; j++){ //列循环
Cell cell = row.getCell(Short.parseShort(j + "")); //指定单元格
CellValue c = evaluator.evaluate(cell); //单元格值对象
if(c != null){ //判断单元格是否有值
System.out.println(c.getCellType());
System.out.println(c.getCellTypeEnum());
switch(c.getCellType()) {
case STRING:
String value = c.getStringValue(); //得到单元格值
System.out.println("String:" + value);
break;
case NUMERIC:
double dvalue = c.getNumberValue(); //得到单元格内数字
System.out.println("Double:" + dvalue);
break;
default:
System.out.println("---");
}
}
}
} }
}
} public static void main(String[] args) { mainParseExcel();
} }
poi——读取excel数据的更多相关文章
- 使用poi读取excel数据示例
使用poi读取excel数据示例 分两种情况: 一种读取指定单元格的值 另一种是读取整行的值 依赖包: <dependency> <groupId>org.apache.poi ...
- Java POI读取Excel数据,将数据写入到Excel表格
1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...
- POI读取Excel数据
POI读取Excel表格数据 * {所需相关jar下载: * commons-collections4-4.4.jar * commons-compress-1.19.jar * poi-4.1.1. ...
- POI读取Excel数据保存到数据库,并反馈给用户处理信息(导入带模板的数据)
今天遇到这么一个需求,将课程信息以Excel的形式导入数据库,并且课程编号再数据库中不能重复,也就是我们需要先读取Excel提取信息之后保存到数据库,并将处理的信息反馈给用户.于是想到了POI读取文件 ...
- java 使用POI读取excel数据
原文:http://doc.okbase.net/0201zcr/archive/161440.html 一.定义 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Ja ...
- Java POI 读取Excel数据转换为XML格式
1.首先要下载poi相关的包:http://poi.apache.org/ ,以下是所需的jar包 2.贴上详细的代码 public class ExcelToXml { /** * 将excel的 ...
- POI 读取Excel数据
private List<LeagueGroup> read() throws IOException{ List<LeagueGroup> leagueGroups=new ...
- java的poi技术读取Excel数据到MySQL
这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...
- jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL
这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...
随机推荐
- webpack插件解析:HtmlWebpackPlugin是干什么的以及如何使用它
HtmlWebpackPlugin是一个出现频率比较高的webpack插件,本文对其作用和配置作一番比较详细的分析(本文的配置均在webpack.config.js中进行). 为何使用它 简单来说,H ...
- 腾讯视频怎么转成mp4模式 软件 工具 方法 最新【已解决】
1.搜索: 小白兔视频格式在线转换 2.转换好后视频已经是MP4格式了. 转载于:https://blog.51cto.com/14204019/2396896
- composer+psr-4实现自动加载
自动加载 对于库的自动加载信息,Composer 生成了一个 vendor/autoload.php 文件.你可以简单的引入这个文件,你会得到一个免费的自动加载支持. require 'vendor/ ...
- 《Java 开发从入门到精通》—— 2.3 使用IDE工具序
本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...
- 全面解析Java语言 Java技能优化集锦
通用篇 "通用篇"讨论的问题适合于大多数Java应用. 不用new关键词创建类的实例 用new关键词创建类的实例时,构造函数链中的所有构造函数都会被自动调用.但如果一个对象实现了C ...
- ZLEXCOUNT key min max
1 简介 ZLEXCOUNT 命令用于计算有序集合中指定成员之间的成员数量. 2 语法 2.1 完整示例 zlexcount zset [member1 [member5 2.2 说明 指令 是否必须 ...
- 图论--最长路--基于SPFA的调整模板
#include<iostream> #include<queue> #include<algorithm> #include<set> #includ ...
- 06 __init__ 和 __new__的关系和不同
一. 双下new 和 双下init 关系 首先从__new__(cls,a,b,c)的参数说说起,__new__方法的第一个参数是这个类,而其余的参数会在调用成功后全部传递给__init__方法初始化 ...
- 70行实现Promise核心源码
70行实现Promise核心源码 前言: 一直以来都是只会调用Promise的API,而且调API还是调用axios封装好的Promise,太丢人了!!!没有真正的去了解过它的原理是如何实现的,自 ...
- turtle库应用实例3-叠加等边三角形绘制(一笔画)
叠加等边三角形绘制 ...