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

一、定义

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

二、所需jar包

三、简单的一个读取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、原始数据

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数据的更多相关文章

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

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

  2. Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决

    Java之POI读取Excel的Package should contain a content type part [M1.13]] with root cause异常问题解决 引言: 在Java中 ...

  3. 使用poi读取excel数据示例

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

  4. Java POI读取Excel数据,将数据写入到Excel表格

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

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

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

  6. POI读取Excel数据

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

  7. poi——读取excel数据

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

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

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

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

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

随机推荐

  1. sqlite查看所有表名、判断表是否存在,字段名及字段信息

    sqlite查看所有表名.判断表是否存在,字段名及字段信息   sqlite查看所有表名及字段名查询table,type 段是'table',name段是table的名字, select name f ...

  2. Luogu P1080国王游戏(贪心)

    国王游戏 题目链接:国王游戏 ps:题目数据说明了要写高精度. 这个题的答案是\(a.l * a.r < b.l * b.r\)按照这个进行排序 题解中大部分只是如何证明排序是: \(a.l * ...

  3. MySQL 查询优化之 Multi-Range Read

    MySQL 查询优化之 Multi-Range Read MRR的工作原理 MRR开启与关闭 使用MRR示例 参考文档 在存储引擎中未缓存的大表,使用辅助索引的range scan检索数据, 可能会导 ...

  4. Python Third Day-文件处理

    文件处理 打开文件,得到文件句柄并赋值给一个变量f=open('a.txt','r',encoding='utf-8')#默认打开的方式为r指的是文本文件,全名为‘rt’#w文件方式指的是如果有a.t ...

  5. 【php】关于尾部去除和分号问题

    One thing to remember is, if you decide to omit the closing PHP tag, then the last line of the file ...

  6. 菜鸟的《Linux程序设计》学习—shell script

    1. 认识shell script shell script是利用shell的功能缩写的一个"程序",这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面, ...

  7. Hive 启动报错

    java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected at jl ...

  8. 6,id 小数据池,编码and解码。

    asscii :8位(数字,英文,特殊字符)表示一个字符. A:0000 0001 unicode :(万国码)初期:16位,两个字节,表示两个字符. A:0000 0001 0000 0001 中: ...

  9. Leetcode 406.根据身高重建队列

    根据身高重建队列 假设有打乱顺序的一群人站成一个队列. 每个人由一个整数对(h, k)表示,其中h是这个人的身高,k是排在这个人前面且身高大于或等于h的人数. 编写一个算法来重建这个队列. 注意:总人 ...

  10. android项目引入第三方库工程出现的问题及解决方案

    一.导入libar库工程 1.使用第三方库工程libary,基本上都是从github上下载,解压后里面有个libary文件夹 2.将libary导入到eclipse中,步骤如下 1)在eclipse包 ...