java poi读取excel数据_java 使用POI读取excel数据

本文详细介绍了如何使用Java的Apache POI库来读取Excel文件数据,包括读取不同版本的Excel文件、获取工作表、处理表头和数据行等内容,并提供了具体的代码示例。

原文:http://doc.okbase.net/0201zcr/archive/161440.html

一、定义

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。

二、所需jar包:

0d89e45bbe4ff0f399d340056387ed62.png

三、简单的一个读取excel的demo

1、读取文件方法

/**

* 读取出filePath中的所有数据信息

* @param filePath excel文件的绝对路径

*

*/

public static void getDataFromExcel(String filePath)

{

//String filePath = "E:\\123.xlsx";

//判断是否为excel类型文件

if(!filePath.endsWith(".xls")&&!filePath.endsWith(".xlsx"))

{

System.out.println("文件不是excel类型");

}

FileInputStream fis =null;

Workbook wookbook = null;

try

{

//获取一个绝对地址的流

fis = new FileInputStream(filePath);

}

catch(Exception e)

{

e.printStackTrace();

}

try

{

//2003版本的excel,用.xls结尾

wookbook = new HSSFWorkbook(fis);//得到工作簿

}

catch (Exception ex)

{

//ex.printStackTrace();

try

{

//2007版本的excel,用.xlsx结尾

wookbook = new XSSFWorkbook(fis);//得到工作簿

} catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

//得到一个工作表

Sheet sheet = wookbook.getSheetAt(0);

//获得表头

Row rowHead = sheet.getRow(0);

//判断表头是否正确

if(rowHead.getPhysicalNumberOfCells() != 3)

{

System.out.println("表头的数量不对!");

}

//获得数据的总行数

int totalRowNum = sheet.getLastRowNum();

//要获得属性

String name = "";

int latitude = 0;

//获得所有数据

for(int i = 1 ; i <= totalRowNum ; i++)

{

//获得第i行对象

Row row = sheet.getRow(i);

//获得获得第i行第0列的 String类型对象

Cell cell = row.getCell((short)0);

name = cell.getStringCellValue().toString();

//获得一个数字类型的数据

cell = row.getCell((short)1);

latitude = (int) cell.getNumericCellValue();

System.out.println("名字:"+name+",经纬度:"+latitude);

}

}

2、测试

public static void main(String[] args)

{

getDataFromExcel("E:"+ File.separator +"123.xlsx");

}

3、原始数据

2d99a15ef8e66cd62ce6836d7fc219b5.png

4、结果

名字:A1,经纬度:1

名字:A2,经纬度:2

名字:A3,经纬度:3

名字:A4,经纬度:4

名字:A5,经纬度:5

名字:A6,经纬度:6

名字:A7,经纬度:7

名字:A8,经纬度:8

名字:A9,经纬度:9

名字:A10,经纬度:10

名字:A11,经纬度:11

JAVA使用POI读取EXCEL文件的简单model

一.JAVA使用POI读取EXCEL文件的简单model 1.所需要的jar commons-codec-1.10.jarcommons-logging-1.2.jarjunit-4.12.jarlo ...

使用poi读取excel数据示例

使用poi读取excel数据示例 分两种情况: 一种读取指定单元格的值 另一种是读取整行的值 依赖包: org.apache.poi ...

Java POI读取Excel数据&comma;将数据写入到Excel表格

1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...

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

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

POI读取Excel数据

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

poi——读取excel数据

单元格类型 读取Excel数据 package com.java.test.poi; import java.io.File; import java.io.FileInputStream; impo ...

java 使用poi 导入Excel 数据到数据库

由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...

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

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

随机推荐

WPF自定义控件第一 - 进度条控件

本文主要针对WPF新手,高手可以直接忽略,更希望高手们能给出一些更好的实现思路. 前期一个小任务需要实现一个类似含步骤进度条的控件.虽然对于XAML的了解还不是足够深入,还是摸索着做了一个.这篇文章介 ...

20-ES6(3)class基本语法

# Class基本语法 关于es6的class简介: ES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板.通过class关键字,可以定义类.基本上,ES6的class可以 ...

Redis使用及优化入门

Redis的优势 MySQL读写慢,Redis内存数据库,读写速度快. 少量的数据要经常读写,尤其是读操作,读写速度要求高. 丰富的数据结构,Redis支持5种数据结构,MySQL字段变化,需要手动维 ...

css使 同一行内的 文字和图片 垂直居中对齐&quest;

设置父容器, 使 父容器 div 下的所有元素 都 垂直对齐: father-container *{ vertical-align:middle 找回密码

虚拟机Linux 的一些基础命令和注释

cd命令 cd    ==回到初始,主目录 cd -  ==回到上一级目录交替 cd ~ ==回到root家目录 cd .  ==当前目录 cd .. ==进入上一级目录 ls命令 ls     == ...

ProjectEuler 做题记录

退役选手打发时间的PE计划 挂在这里主要是dalao们看到有什么想交流的东西可以私聊哦(站内信或邮箱吧)~~当然现在高三也不怎么能上网. 2017/8/11  595 :第一题QAQ 2017/8/1 ...

Windows Server 2016-系统安装软硬件要求

本章为大家补充介绍安装 Windows Server 2016的最低系统要求. 如果安装时选择通过"服务器核心"选项进行安装,则应注意,没有安装任何 GUI 组件,并且将不能使用服 ...

多任务Forth系统内存布局

body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

&lbrack;IOI2014&rsqb; 假期

Description 有\(N(N\leq 10^5)\)个排列在一条线上的城市,每个城市有\(val_i\)个景点.每天你可以选择在当前城市\(i\)游览景点,或者前往城市\(i-1\)或城市\( ...

tflite笔记

固化模型 方法一:freeze_graph方法 把tf.train.write_graph()生成的pb文件与tf.train.saver()生成的chkp文件固化之后重新生成一个pb文件 with ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值