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

  1. Java读取Excel数据

    Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 Java读取Excel数据,解析文本并格式化输出 下图是excel文件的路径和文件名 下图是exce ...

  2. Java读取excel数据保存入库

    Java开发读取excel表格数据入库保存: List<Map<String, Object>> list = null; String filePath = filePath ...

  3. [转] JAVA读取excel数据(插入oracle数据库)

    原文地址:http://blog.csdn.net/zczzsq/article/details/16803349 本实例做的是读取execl(只能读取.xls的execl,即只能读取03版的),如果 ...

  4. 使用java读取excel数据

    package excelOperation2; import java.io.File; import java.io.FileNotFoundException; import java.util ...

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

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

  6. java的poi技术读取Excel数据

    这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...

  7. java的poi技术读取Excel数据到MySQL

    这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...

  8. jxl读写excel, poi读写excel,word, 读取Excel数据到MySQL

    这篇blog是介绍: 1. java中的poi技术读取Excel数据,然后保存到MySQL数据中. 2. jxl读写excel 你也可以在 : java的poi技术读取和导入Excel了解到写入Exc ...

  9. poi——读取excel数据

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

随机推荐

  1. 单独烧录kernel

    使用fastboot: adb reboot bootloader //adb 进入BootLoader(fastboot是BootLoader的命令) fastboot flash boot boo ...

  2. java并发编程(7)构建自定义同步工具及条件队列

    构建自定义同步工具 一.通过轮询与休眠的方式实现简单的有界缓存 public void put(V v) throws InterruptedException { while (true) { // ...

  3. CodeIgniter 目录结构详解

    1. myshop 2. |-----system 框架程序目录 3. |-----core 框架的核心程序 4. |-----CodeIgniter.php 引导性文件 5. |-----Commo ...

  4. SQL Server中用While循环替代游标(Cursor)的解决方案

    By行处理数据,推荐2种方式: 1.游标 2.While循环 我们来了解下这两种方案处理1w行数据分别需要多长时间. 一.游标. 首先我们填充一个表,用优雅的递归方式填充. ,) ) ;with ct ...

  5. Windows窗体技术及基础控件

    创建winform程序 Visual studio是一套完整的开发工具集 RAD 工具(rapid application development) 创建用户界面时,把控件从工具箱拖放到窗体上,把它们 ...

  6. 数据适配:DataAdapter对象概述

    DataAdapter对象可用于执行数据库的命令操作,含有四个不同的操作命令,分别如下:   SelectCommand:用来选取数据源中的记录: InsertCommand:用来向数据源中新插入一条 ...

  7. javascript 基础知识-1

    1, stringObject.charAt(index) : 返回指定位置(index)的字符 2, RegExpObject.exec(string), 用于检索字符串(string)中正则表达式 ...

  8. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型。

    mybatis执行sqlserver的sql报错 com.microsoft.sqlserver.jdbc.SQLServerException: 不支持“variant”数据类型. at com.m ...

  9. WinFrom柱形图

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  10. 1739 GPA排序 个人博客:doubleq.win

    个人博客:doubleq.win 1739 GPA排序  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 青铜 Bronze 题解       题目描述 Description ...