java编程之POI读取excel表格的内容
07版本的excel需要另外加一个jar包。xbean.jar的jar包
读取代码模板。利用模板介绍读取excel的一些poi的api这是重点
/**
* 读取excel文件
* @Title: readExcel
* @Description: TODO(这里用一句话描述这个方法的作用)
* @author 尚晓飞
* @date 2014-11-10 上午8:58:01
* @param readPath 读取电脑硬盘上某个excel的绝对路径 例如:C://20141110中石油.xlsx
* @see com.bjsxt.sxf.service.ReadExcelService#readExcel(java.lang.String)]
* CELL_TYPE_NUMERIC 数值型 0
CELL_TYPE_STRING 字符串型 1
CELL_TYPE_FORMULA 公式型 2
CELL_TYPE_BLANK 空值 3
CELL_TYPE_BOOLEAN 布尔型 4
CELL_TYPE_ERROR 错误 5
*/
@Override
public void readExcel(String readPath) {
try {
//生成文件的输入流
InputStream inexcel=new FileInputStream(readPath);
//生成输入excel文件的内存模型
Workbook wb=WorkbookFactory.create(inexcel);
//获取具体表格名的对象
Sheet sheet=wb.getSheet("尚晓飞");
//Sheet sheet2=wb.getSheetAt(0);获取指定下标的表格对象。行和列的下标都是从0开始 //定义记录一行数据的值
Date date=null;//时间
double jiage=0;//价格
Integer xianliang=0;//现量
String borS=null;//类型 //获取excel表中存在值的行对象的迭代器
Iterator<Row> iterator=sheet.iterator();
while (iterator.hasNext()) {
Row row=iterator.next();
//获取excel表中存在值的某行的列对象的迭代器
Iterator<Cell> cIterator=row.cellIterator();
while (cIterator.hasNext()) {
Cell cell=cIterator.next();
if(cell.getCellType()==cell.CELL_TYPE_BLANK){
//如果单元格为空值,暂停本次循环继续下次循环
continue;
}
//获取当前单元格的列索引 。从0开始
Integer columnIndex=cell.getColumnIndex();
//获取当前单元格的行索引。从0开始
Integer rowIndex=cell.getRowIndex(); if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){//判断单元格的值是数字格式 if(HSSFDateUtil.isCellDateFormatted(cell)){//判断单元格是日期格式
SimpleDateFormat dateformat = new SimpleDateFormat("HH-mm");
//时间
date = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());//获取成DATE类型
String fdate = dateformat.format(date);
System.out.println("rowIndex-->"+rowIndex+" columnIndex-->"+columnIndex+" value-->"+fdate); }else{ if(cell.getColumnIndex()==1){
//价格
jiage=cell.getNumericCellValue();
System.out.println("rowIndex-->"+rowIndex+" columnIndex-->"+columnIndex+" value-->"+jiage);
}else if(cell.getColumnIndex()==2){
//现量
xianliang=(int) cell.getNumericCellValue();
System.out.println("rowIndex-->"+rowIndex+" columnIndex-->"+columnIndex+" value-->"+xianliang);
}
} } if(cell.getCellType()==cell.CELL_TYPE_STRING){//单元格的值为字符串
//类型
borS=cell.getStringCellValue();
System.out.println("rowIndex-->"+rowIndex+" columnIndex-->"+columnIndex+" value-->"+borS);
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
java编程之POI读取excel表格的内容的更多相关文章
- java用poi读取Excel表格中的数据
Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版.Apache POI 代 ...
- 利用java反射机制实现读取excel表格中的数据
如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...
- java中使用poi导出excel表格数据并且可以手动修改导出路径
在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下
- java中使用 POI导出excel表格的简单实现
大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...
- POI读取Excel数据
POI读取Excel表格数据 * {所需相关jar下载: * commons-collections4-4.4.jar * commons-compress-1.19.jar * poi-4.1.1. ...
- Java读取excel表格
Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...
- Java开发小技巧(六):使用Apache POI读取Excel
前言 在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel.csv.xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的, ...
- java通过poi读取excel中的日期类型数据或自定义类型日期
Java 读取Excel表格日期类型数据的时候,读出来的是这样的 12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...
- java使用poi读取ppt文件和poi读取excel、word示例
java使用poi读取ppt文件和poi读取excel.word示例 http://www.jb51.net/article/48092.htm
随机推荐
- [Vue]webpack的require与require.context
1.require 1.1完整路径的require语句: require('tools'); //preset alias tools require('./js/main'); 1.2带表达式的 r ...
- IntelliJ IDEA 左侧显示/展开类中的方法
困扰我很久的问题: project直接右键: 打开.关闭对应效果: 之前查到的都是 : 虽然也有类似的功能,但是展开的是右侧窗口中,打开的那个类的: 即使不是我想要的,但也是不错的功能!
- svn diff color
大致有两种方式: 1,在bashrc中添加如下脚本 svndiff() { svn diff "${@}" | colordiff } 2,修改svn的配置文件 $ vim ~/. ...
- 【转】正向代理vs反向代理
正向代理 正向代理:是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将 ...
- centos 7网速监控脚本
#!/bin/bashif [ $# -ne 1 ];thendev="eth0"elsedev=$1fi while :doRX1=`/sbin/ifconfig $dev |a ...
- [嵌入式培训 笔记]-----Vim编辑器使用简介
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 第一讲小结 1. 光标在屏幕文本中的移动既 ...
- HDU 2062 Subset sequence 数位dp,思路 难度:1
http://acm.hdu.edu.cn/showproblem.php?pid=2062 Subset sequence Time Limit: 1000/1000 MS (Java/Others ...
- eureka-6-为Eureka Server 及Dashboard 添加用户认证
Eureka Server 默认是允许匿名访问的你,当然也可以加认证权限 添加步骤: 1:在pom.xml文件中添加spring-boot-start-starter-security 的依赖.该依赖 ...
- LeetCode OJ:Reorder List(重序链表)
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...
- 设置tableview 右侧 索引字体的大小