文档章节

EXCEL 读取

穿林度水
 穿林度水
发布于 2016/11/07 14:27
字数 285
阅读 1
收藏 0
xlsx2007 和 xls2003 两种格式需要使用两种方法
XSSF      HSSF
大数据excel读取参考 http://www.iteye.com/topic/624969
poi-3.9.jar poi-ooxml-3.9.jar poi-ooxml-schemas-3.9.jar xmlbeans-2.3.0.jar


小数据excel读取
package com.aibi.cmdc.webService;

import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelUtil {

	public static String getCellValue(Cell cell) {
		if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) {
			// 返回布尔类型的值
			return String.valueOf(cell.getBooleanCellValue());
		} else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {
			// 返回数值类型的值
			return String.valueOf(cell.getNumericCellValue());
		} else {
			// 返回字符串类型的值
			return String.valueOf(cell.getStringCellValue());
		}
	}

	public static List<Map<String, String>> readExcel(String pathName) {
		List<Map<String, String>> list = new ArrayList<Map<String, String>>();
		List<String> keys = new ArrayList<String>();
		try {
			InputStream is = new FileInputStream(pathName);
			XSSFWorkbook wk = new XSSFWorkbook(is);
			XSSFSheet hssfSheet = wk.getSheetAt(0);// 取得 第一个sheet页
			XSSFRow titleRow = hssfSheet.getRow(4);// 取得表头
			for (int cellIndex = 0; cellIndex < titleRow.getLastCellNum(); cellIndex++) {
				Cell cell = titleRow.getCell(cellIndex);
				if (cell != null) {
					String cellValue = getCellValue(cell);
					System.out.println(cellValue);
					keys.add(cellValue);
				}
			}
			// 循环行Row
			for (int rowNum = 4; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
				XSSFRow hssfRow = hssfSheet.getRow(rowNum);
				if (hssfRow == null) {
					continue;
				}
				Map<String, String> rowMap = new HashMap<String, String>();
				for (int i = 0; i < hssfRow.getLastCellNum(); i++) {
					Cell cell = hssfRow.getCell(i);
					if (cell != null) {
						rowMap.put(keys.get(i), getCellValue(cell));
					}
				}
				list.add(rowMap);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return list;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// String pathName ="e:\\11.xlsx";
		String pathName = "e:\\aa2.xlsx";
		List<Map<String, String>> list = readExcel(pathName);
		System.out.println(list);

	}

}

  

© 著作权归作者所有

下一篇: Btrace
穿林度水
粉丝 0
博文 250
码字总数 167120
作品 0
海淀
程序员
私信 提问
Crab2Died/Excel4J

Excel4J v2.x 一. v2.x新特性 Excel读取支持部分类型转换了(如转为Integer,Long,Date(部分)等) v2.0.0之前只能全部内容转为String Excel支持非注解读取Excel内容了,内容存于对象内 现在支持导...

Crab2Died
2017/06/11
0
0
使用java读取Excel表格中的数据 ,解决方案搜集

Java EXCEL API简介 Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应...

不最醉不龟归
2016/11/01
231
0
Excel2db-excel转成二进制文件

目的: 游戏开放中有原型数据,而原型数据经常都是通过excel进行编写,关于程序如何去读取excel中的数据,方法有很多种,比如: 1.将excel导入mysql中,然后由程序去读取数据库,但是客户端无法...

ksfzhaohui
2015/09/08
539
0
Python读写与追加excel文件实例讲解

读写与追加excel文件用的是 xlwt(写),xlrd(读),xlutils(操作excel)这三个包 三个模块的安装读取excel文件(.xls .xlsx)写入excel文件追加excel文件 1.三个模块的安装 pip install ...

呆萌的代Ma
2017/12/21
0
0
phpexcel读取excel文件的列数,读取到空白列

关于phpexcel读取excel文件列数问题 我在读取excel文件列数,使用phpexcel类,伪代码如下 但经常读取到的数据会多一列,将excel最后的空白行清空删除,读取到的数据仍然是多的,比如共有R列数...

binzone
2014/06/16
8.8K
2

没有更多内容

加载失败,请刷新页面

加载更多

java通过ServerSocket与Socket实现通信

首先说一下ServerSocket与Socket. 1.ServerSocket ServerSocket是用来监听客户端Socket连接的类,如果没有连接会一直处于等待状态. ServetSocket有三个构造方法: (1) ServerSocket(int port);...

Blueeeeeee
今天
6
0
用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
5
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
15
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
15
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部