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 ...
随机推荐
- innobackupex 出现Unrecognized character \x01; marked by
centos 7.2 mysql 5.7.16 innobackupex version 2.4.6 [root@Devops-mysql-150-115 sh]# innobackupex --de ...
- Shiro(三):Spring-boot如何集成Shiro(下)
上一篇文章介绍了shiro在spring-boot中通过filter实现authentication流程(通过设置filterMaps也可以达到authorization的目的):这篇文章主要介绍sp ...
- Java反射与注解
反射 能够分析类能力的程序称为反射(reflective),代码的这种能力称为"自省".反射机制的功能极其强大,反射机制可以用来: 在运行时分析类的能力 在运行时查看对象,例如,编 ...
- 如何在C#/.NET Core中使用责任链模式
原文:Chain Of Responsbility Pattern In C#/.NET Core 作者:Wade 译者:Lamond Lu 最近我有一个朋友在研究经典的"Gang Of F ...
- 初识Java和JDK下载安装
故事:Java帝国的诞生 对手: C&C++ ◆1972年C诞生 ◆贴近硬件,运行极快,效率极高. ◆操作系统,编译器,数据库,网络系统等 ◆指针和内存管理 ◆1982年C++诞生 ◆面向对象 ...
- SpringCloud 踩坑之 注册中心绑定端口一直是8080
今天在启动注册中心服务时,突然端口一直是8080,找了好久一直没找到原因,先看看我有问题的配置 spring: application: name: eureka-server profiles: d ...
- AbstractList源码分析
AbstractList 1 类图 2 字段 // 默认容量 private static final int DEFAULT_CAPACITY = 10; // 共享的空数组 private sta ...
- 带你看看Java的锁(二)-Semaphore
前言 简介 Semaphore 中文称信号量,它和ReentrantLock 有所区别,ReentrantLock是排他的,也就是只能允许一个线程拥有资源,Semaphore是共享的,它允许多个线程同 ...
- java-mysql类型对照
java mysql 数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang. ...
- python实现边缘提取
1. 题目描述 安装opencv环境,实现边缘提取 2. 实现过程 1. 安装opencv+python环境 2. 打开图片 3. 将图片二值化 4. 提取边缘 5. 显示图片 3. 运行结果 ...