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表格的内容的更多相关文章

  1. java用poi读取Excel表格中的数据

    Java读写Excel的包是Apache POI(项目地址:http://poi.apache.org/),因此需要先获取POI的jar包,本实验使用的是POI 3.9稳定版.Apache POI 代 ...

  2. 利用java反射机制实现读取excel表格中的数据

    如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.Lis ...

  3. java中使用poi导出excel表格数据并且可以手动修改导出路径

    在我们开发项目中,很多时候会提出这样的需求:将前端的某某数据以excel表格导出,今天就给大家写一个简单的模板. 这里我们选择使用poi导出excel: 第一步:导入需要的jar包到 lib 文件夹下

  4. java中使用 POI导出excel表格的简单实现

    大概流程分7步: 1.创建工作簿 --> 2.创建sheet表 --> 3.创建row行(建议使用循环) --> 4.用row行逐一创建单元格(建议使用循环) --> 5.单元 ...

  5. POI读取Excel数据

    POI读取Excel表格数据 * {所需相关jar下载: * commons-collections4-4.4.jar * commons-compress-1.19.jar * poi-4.1.1. ...

  6. Java读取excel表格

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  7. Java开发小技巧(六):使用Apache POI读取Excel

    前言 在数据仓库中,ETL最基础的步骤就是从数据源抽取所需的数据,这里所说的数据源并非仅仅是指数据库,还包括excel.csv.xml等各种类型的数据接口文件,而这些文件中的数据不一定是结构化存储的, ...

  8. java通过poi读取excel中的日期类型数据或自定义类型日期

    Java 读取Excel表格日期类型数据的时候,读出来的是这样的  12-十月-2019,而Excel中输入的是 2019/10/12 或 2019-10-12 poi处理excel时,当excel没 ...

  9. java使用poi读取ppt文件和poi读取excel、word示例

    java使用poi读取ppt文件和poi读取excel.word示例 http://www.jb51.net/article/48092.htm

随机推荐

  1. PHP5.6版本安装redis扩展

    一.php安装redis扩展   1.使用phpinfo()函数查看PHP的版本信息,这会决定扩展文件版本       2.根据PHP版本号,编译器版本号和CPU架构, 选择php_redis-2.2 ...

  2. [mybatis]Mapper XML 文件——statementType

    statementType:STATEMENT,PREPARED 或 CALLABLE(存储过程) 的一个.这会让 MyBatis 分别使用 Statement,PreparedStatement 或 ...

  3. flask学习(八):页面跳转和重定向

    1. 用处:在用户访问一些需要登录的页面的时候,如果用户没有登录,那么让页面重定向到登录页面 2. 实例 运行效果: 用户已登录,进入发布问答页面 用户未登录,跳转到登录页面

  4. 联表更新SQL语句

    联表更新语句第一次写,,,主要是在实现功能上需要向repay_detail添加一个新的字段item_id.但是以前的老数据的话这个字段的值就为null 所以就写了下面一条语句就更新了老数据...SQL ...

  5. python - pandas或者sklearn中如何将字符形式的标签数字化

    参考:http://www.php.cn/wenda/91257.html https://www.cnblogs.com/king-lps/p/7846414.html http://blog.cs ...

  6. poj3308 Paratroopers 最大流 最小点权覆盖

    题意:有一个n*m的矩阵,告诉了在每一行或者每一列安装大炮的代价,每一个大炮可以瞬间消灭这一行或者这一列的所有敌人,然后告诉了敌人可能出现的L个坐标位置,问如何安置大炮,使花费最小.如果一个敌人位于第 ...

  7. Python flask网站部署总结

    先开一贴,有空来总结下前段时间的网站部署情况.此次部署采用Gunicorn + Nginx + supervisor的组合在VPS环境中部署flask网站应用. Ubuntu环境准备 准备python ...

  8. 【Python】日期模块总结

    Time Tuple: 索引 字段 值 0 年(四位数字) 2015 1 月份 1 - 12 2 日期 1 - 31 3 小时 0 - 23 4 分钟 0 - 59 5 秒 0 - 61 (60 或 ...

  9. C++面向对象高级编程(一)基础篇

    技术在于交流.沟通,转载请注明出处并保持作品的完整性. 概要: 知识点1 构造函数与析构函数 知识点2 参数与返回值 知识点3 const 知识点4 函数重载(要与重写区分开) 知识点5 友元 先以C ...

  10. New Concept English there (3)

    25words/ minutes Some time ago,an interesting discovery was made by archaeologists on the Aegean isl ...