Java 读取Excel数据——POI-3.11 XSSF
POI - the Java API for Microsoft Documents
1.在Apache官网下载Apache最新poi版本:poi-bin-3.11-20141221.zip,解压;
这里要注意是在binary distribution 下载,binary distribution是jar包,source distribution是包含源文件的,可以打开java代码
2.在Eclipse中引入jar包:project—properties—Libraries—Add External JARs
Apache官网提供了一些例子:http://poi.apache.org/spreadsheet/quick-guide.html
注意:使用POI扩展包的时候出现“POI java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException”异常,一般是由于POI的其中一个名为“xmlbeans-2.3.0.jar”(或其他版本)的扩展包没有添加到项目的Library里面。在poi-3.11中是在ooxml-lib
Example Code:(以读取桌面excel交易表为例,路径由dataPath传入)
public static Map<String, ArrayList<String>> readExcelData(String dataPath) throws IOException {
InputStream is = new FileInputStream(dataPath);
@SuppressWarnings("resource")
XSSFWorkbook wb = new XSSFWorkbook(is);
XSSFSheet sheet = wb.getSheetAt(0); // 获取第一个sheet表
XSSFRow rowData;
Map<String, ArrayList<String>> resultData = new HashMap<String, ArrayList<String>>();
String trans_key = null;
String item;
for (int i = sheet.getTopRow(); i < sheet.getLastRowNum() + 1; i++) {
rowData = sheet.getRow(i);
if (i == sheet.getTopRow()) {
continue; //标题不读入
}
ArrayList<String> trans_item = new ArrayList<String>();
for (int j = rowData.getFirstCellNum(); j < rowData.getLastCellNum(); j++) {
if (j == rowData.getFirstCellNum()) {
trans_key = rowData.getCell(j).toString();
} else {
item = rowData.getCell(j).toString();
trans_item.add(item);
}
}
resultData.put(trans_key, trans_item);
}
is.close();
return resultData;
}
TODO:有个小问题,
rowData.getLastCellNum()返回的时列数,比如里面有两列,则返回2;但是sheet.getLastRowNum()却不是行数,而是最后一行的位置,如果要活的确切行数的话,则需要+1;
Java 读取Excel数据——POI-3.11 XSSF的更多相关文章
- Java读取Excel数据
Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...
- Java读取excel数据保存入库
Java开发读取excel表格数据入库保存: List<Map<String, Object>> list = null; String filePath = filePath ...
- [转] JAVA读取excel数据(插入oracle数据库)
原文地址:http://blog.csdn.net/zczzsq/article/details/16803349 本实例做的是读取execl(只能读取.xls的execl,即只能读取03版的),如果 ...
- 使用java读取excel数据
package excelOperation2; import java.io.File; import java.io.FileNotFoundException; import java.util ...
- Java POI读取Excel数据,将数据写入到Excel表格
1.准备 首先需要导入poi相应的jar包,包括: 下载地址:http://pan.baidu.com/s/1bpoxdz5 所需要的包的所在位置包括: 2.读取Excel数据代码 package S ...
- java的poi技术读取Excel数据
这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...
- java的poi技术读取Excel数据到MySQL
这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...
- jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL
这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...
- poi——读取excel数据
单元格类型 读取Excel数据 package com.java.test.poi; import java.io.File; import java.io.FileInputStream; impo ...
随机推荐
- Eclipse空白包的显示和隐藏
Eclipse空白包的显示和隐藏 点击三角形, ,下拉 -> Customize View... -> Empty packages (勾选)
- 非科班双非本科投的337家Java后台(励志)
考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 文章出自h ...
- Linux du查询文件大小
#查询磁盘当前容量信息 $df -h #查询当前目录下所有文件的大小 $du -m . #两种方式查询 仅当前目录下的子文件(文件夹)大小 $du -sh /cloud/* $du -h ...
- MyBatis中插入并返回主键
开发过程中经常遇到需要插入一条数据,并且返回这条数据自增的主键,在MyBatis中只需要在mapper中添加keyProperty属性即可 在mapper中添加keyProperty属性 <in ...
- [linux] C语言Linux系统编程进程基本概念
1.如果说文件是unix系统最重要的抽象概念,那么进程仅次于文件.进程是执行中的目标代码:活动的.生存的.运行的程序. 除了目标代码进程还包含数据.资源.状态以及虚拟化的计算机. 2.进程体系: 每一 ...
- SpringBoot MockMvc的单元测试
对于类的测试,可以有很多的方式进行实现,比如可以使用PostMan,使用HttpClient请求等,这里主要讲的是MockMcv的测试 一:引入依赖 <dependency> <gr ...
- 五、curator recipes之选举主节点Leader Latch
简介 在分布式计算中,主节点选举是为了把某个进程作为主节点来控制其它节点的过程.在选举结束之前,我们不知道哪个节点会成为主节点.curator对于主节点选举有两种实现方式,本文示例演示Latch的实现 ...
- Z_Tree的使用案例(出差地点的演示)
1.准备工作(下载zTree并添加到项目JS中) 2.HTML代码 <link rel="stylesheet" href="./js/zTree_v3-3.5.2 ...
- Django实现数据库中表格的增删查改
1.urls.py """Django_demo1 URL Configuration The `urlpatterns` list routes URLs to vie ...
- 使用css实现三角符号
关于使用css制作三角符号,网上有很多的例子了,在这里只是为了详细的向各位解释一下三角符号的原理 下图,是一个长宽为100px,边框宽度为100px的一个元素,由此可见,在css中上下左右的边框相交处 ...