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
随机推荐
- stdclass
$item = new stdClass(); $item->goods_id = $item_goods->getID(); $item->goods_name ...
- webBrowser.DocumentText重新赋值无效解决方法
因为webBrowser这个控件的webBrowser.DocumentText是异步的,所以要自己调用刷新: webBrowser.Navigate("about:blank") ...
- bzoj1093: [ZJOI2007]最大半连通子图 scc缩点+dag上dp
一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意两点u,v,存在一条u到v的有向路径或者从v到u的有向路径.若G'=(V ...
- Lua学习笔记3. 函数可变参数和运算符、转义字符串、数组
1. Lua函数可以接受变长数目的参数,和C语言类似,在函数的参数列表中使用(...)表示函数可以接受变长参数 lua函数将参数存放在一个table中,例如arg,那么#arg可以获得参数的个数 fu ...
- kafka遗忘点
1.通常,分区数比broker多.follower从leader拉取批量日志应用到自己的日志.消费者消费消息 也是拉取模式. 2.如果leader没有故障,我们就不需要follower!当leader ...
- asp.net连接MySQL数据库错误-Out of sync with server
问题 网上说:http://wenda.haosou.com/q/1386389928069965 昨晚这个问题真的费了我不少时间(晚上9到凌晨2点),网上找解决方案,然后一个个尝试,没有成功.准备放 ...
- rsync的服务启动脚本
#!/bin/bash #author:Mr.chen # chkconfig: # description:This is Rsync service management shell script ...
- QUnit 学习笔记 使用说明(一)
一.单元测试前言 什么是单元测试? 如果是新接触单元测试的童鞋,简要的解释:就是一个JS函数/功能/模块的测试. 单元测试的工具:这里介绍QUnit Qunit原本是jqury家的,不过现在已经独立了 ...
- (转)Android学习笔记②——HelloWorld的创建已经基本知识
开发第一应用 可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击Start a new Android Studio Project创建工程:接下来需要输入应用名称(第一个字母要大写) ...
- JUnit出错,却没有显示任何报错信息【待解答】
JUnit测试代码如下: 原因分析: JUnit测试单元里,测试函数好像不能带参数? 解决办法: 发现测试函数testBookShopDaoUpdateBookStock(int isbn)里的参数i ...