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 ...
随机推荐
- java 设计模式-责任链
责任链设计模式,其实就是处理同一个请求的对象连接成一条链,请求的路径经过这条链,符合要求的就处理这个请求,不符合就接着往下面抛出,直道有人处理这条请求. 业务:比如啊,公司个人请假,三天以下就是主管审 ...
- 【总结】Centos中,Kerberos安装
1.安装软件包 安装必须的工具 bison, make, binutils 下载压缩包至/usr/local目录下,并解压 [root@localhost local]# ls krb5-1.14.t ...
- 云时代 • 新契机:2017届中国SaaS产业大会圆满落幕
2017年5-6日,由拓普会展携手中国云体系产业创新战略联盟主办,江苏省企业信息化协会,浙江省企业信息化促进会,广东省首席信息官协会,CIO时代学院,IDC点评网协办以及上海市网购商会,中国信息化推进 ...
- 网络流--最大流--Dinic模板矩阵版(当前弧优化+非当前弧优化)
//非当前弧优化版 #include <iostream> #include <cstdio> #include <math.h> #include <cst ...
- postman(全局变量设置)
全局变量 全局变量作用于整个postman工具及所有环境 1.点击小齿轮进入到变量添加页面,点击Globals添加全局变量 2.输入变量名称和变量值 3.接口中设置变量 4.调用 Globals 变量 ...
- CentOS联网问题
CentOS 7安装好了之后,默认是没有自动联网的,每次启动系统后,之前都是要用到的时候手动联网,最近喜欢用无界面的方式登录系统,所以联网显得比较麻烦. 为了解决这个麻烦,必须让系统启动的时候就自动连 ...
- 题目分享H 二代目
题意:有m个限制,每个限制l1,r1,l2,r2四个数,限制了一个长度为n的数第l1到r1位要与第l2到r2相同,保证r1-l1=r2-l2,求在限制下一共有多少种数 分析: 暴力的话肯定是从l1-r ...
- webpack----js的静态模块打包器
webpack----js的静态模块打包器 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 webpack 是一个现代 J ...
- 洛谷p1149
一道很有意思的题目嘞. 这道题目看起来,用搜索似乎无疑了. 我想了这样一个办法(看了很多博客似乎都没用这种方法),可能是觉得太麻烦了吧: 1.我们先把0到9的数字排列,找出排列消耗火柴等于0的序列.这 ...
- 简单ajax跨域请求
最近遇到需要ajax跨域的需求 首先看下不做任何处理特别处理的ajax跨域请求会出现什么样的错误 客户端代码: <script type="text/javascript"& ...