- 浏览: 86722 次
- 性别:
- 来自: 武汉
最新评论
POI读取excel2003和2007方法是一样的,主要就是用得类不同而已,读取excel2003只需要一个jar包,而读取2007则需要poi3.5以上版本里面的所有jar包,下面将提供代码和jar:
/** * Excel工具类 * @author Administrator * */ public class Excel { private Workbook workbook; public Workbook getWorkbook() { return workbook; } public void setWorkbook(Workbook workbook) { this.workbook = workbook; } public Excel(File file) { InputStream is = null; POIFSFileSystem ps = null; try { is = new FileInputStream(file); try{ ps = new POIFSFileSystem(is); this.workbook = new HSSFWorkbook(ps); }catch (Exception e) { try { OPCPackage opcPackage = OPCPackage.openOrCreate(file); this.workbook = new XSSFWorkbook(opcPackage); } catch (Exception e2) { e2.printStackTrace(); System.out.println("要读取的excel文件必须为2003或2007格式"); } } } catch (FileNotFoundException e) { System.out.println("找不到文件"); e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } public Sheet getSheet(String sheetName) { return workbook.getSheet(sheetName); } /** * 根据列名得到值 * * @param columnName * @return */ public String getValue(int rowIndex, int cellIndex) throws Exception { String returnValue = ""; DecimalFormat decimalFormat = new DecimalFormat("#"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); Sheet sheet = workbook.getSheetAt(0); Row row = sheet.getRow(rowIndex); Cell cell = null; if (row != null) { cell = row.getCell(cellIndex); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: // 数值型 if (HSSFDateUtil.isCellDateFormatted(cell)) {// 如果是date类型则 ,获取该cell的date值 returnValue = dateFormat.format(HSSFDateUtil.getJavaDate(cell.getNumericCellValue())); } else {// 纯数字 returnValue = decimalFormat.format(cell.getNumericCellValue()); } break; /* 此行表示单元格的内容为string类型 */ case HSSFCell.CELL_TYPE_STRING: // 字符串型 returnValue = cell.getRichStringCellValue().toString(); break; case HSSFCell.CELL_TYPE_FORMULA:// 公式型 // 读公式计算值 returnValue = String.valueOf(cell.getNumericCellValue()); if (returnValue.equals("NaN")) {// 如果获取的数据值为非法值,则转换为获取字符串 returnValue = cell.getRichStringCellValue().toString(); } // cell.getCellFormula();读公式 break; case HSSFCell.CELL_TYPE_BOOLEAN:// 布尔 returnValue = "" + cell.getBooleanCellValue(); break; /* 此行表示该单元格值为空 */ case HSSFCell.CELL_TYPE_BLANK: // 空值 returnValue = ""; break; case HSSFCell.CELL_TYPE_ERROR: // 故障 returnValue = ""; break; default: returnValue = cell.getRichStringCellValue().toString(); } } else { returnValue = ""; } }else{ returnValue = ""; } return returnValue; } /** * 得到所有的记录数 * * @return */ public int getRowCount() { return workbook.getSheetAt(0).getLastRowNum(); } /** * 得到Excel表里面的字段名 * * @return */ public List<String> getColumnNames() { List<String> columnNames = new ArrayList<String>(); Sheet sheet = workbook.getSheetAt(0); Row columnNameRow = sheet.getRow(0); for (int i = 0; i < columnNameRow.getLastCellNum(); i++) { columnNames.add(columnNameRow.getCell(i).getStringCellValue()); } return columnNames; } public static void main(String[] args) { Excel excel = new Excel(new File("D:\\23.xlsx")); System.out.println(excel.getRowCount()); } }
- poi-3.7-beta1.rar (7.9 MB)
- 下载次数: 214
发表评论
-
关于继承的问题
2010-11-26 14:54 467继承的概念:举个例子说吧,教师和学生都继承人类,数学老 ... -
Java的Calendar和Date类
2010-11-25 15:51 848Java 语言的Calendar(日历),Date(日期),和 ... -
SimpleDateFormat类简介
2010-11-25 11:44 810java.text 类 SimpleDateFormat j ... -
RMI原理及实现
2010-11-19 10:59 835简介 RMI是远程方 ... -
Lucene3.0 对数据库数据进行搜索
2010-10-20 17:28 3344package com.orifound.aiim.web.u ... -
Lucene3.0分词原理与分词系统
2010-10-20 17:25 902分词原理 建立索引和 ... -
MyEclipse快捷键
2010-10-20 10:13 751Eclipse本身很快的,但是加上了myeclipse后,就狂 ... -
EL表达式
2010-10-20 10:09 812EL表达式 1、EL简 ... -
tomcat启动和关闭
2010-10-20 10:01 1011startup.bat: java -Djava.util. ... -
详细讲解Java中log4j的使用方法
2010-10-20 09:42 1108详细讲解Java中log4j的使用方法 1、Log4j是什么? ... -
java聊天室
2010-10-19 13:35 881server: public class ServerMan ... -
Struts2 BaseAction
2010-10-19 13:24 2114public class BaseAction extends ... -
spring拦截器
2010-10-19 13:19 970import java.lang.reflect.Method ... -
基于spring进行单元测试
2010-10-19 13:13 624public class JTest { stati ... -
java获得客户端IP
2010-10-19 13:09 919/** * 获得客户端IP地址 * @param ... -
struts2 自定义拦截器
2010-10-19 13:05 948struts.xml : <package name= ... -
Log4j配置日志文件输出路径
2010-10-19 12:50 1475### 将日志输出到控制台 ##log4j.appender ... -
error和exception有什么区别?
2010-10-19 12:46 859error 表示恢复不是不可能但很困难的情况下的一种严重问题。 ... -
描述一下JVM加载class文件的原理机制?
2010-10-19 12:45 2027描述一下JVM加载class文件的原理机制? JVM中类的装载 ... -
j2ee常用的设计模式?说明工厂模式。
2010-10-19 12:44 1005j2ee常用的设计模式?说明工厂模式。 Java中的2 ...
相关推荐
本案例中利用Apache Poi读取Excel用法,源码注释详细基本用法!
java poi读取excel 2007 存贮在list中
将excel文件中的内容通过java文件读取出来,包括总行数,列数,单元格内容,合并单元格,行高,列宽,图片等信息。
java读写Excel,POI.JAR,Word内容读取
Java 操作Excel poi读写excel,所需要的jar包 https://blog.csdn.net/u014646662/article/details/83217382
Java用poi读取excel文件Java用poi读取excel文件Java用poi读取excel文件
使用poi解析excel文件,并将数据写入到数据库 项目说明 这个项目实现的功能是读取excel文件中的数据,解析并写入数据库。 读取的excel文件位于项目目录下的 excel\0805.xlsx 使用IntelliJ IDEA开发此项目 使用MYSQL...
主要介绍了Java POI读取excel中数值精度损失问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java读取excel 表格数据。 public static void main(String[] args) { String[][] content=POIExcelUtils.read("E:\\1.xlsx"); for(int i=0;i;i++) { if(content[i]!=null){ for(int j=0;j[i].length;j...
利用POI读取excel写入到word 利用POI读取excel写入到word 利用POI读取excel写入到word,压缩包里包含了jar包
java poi读取excel xls xlsx相关jar包集合,包含: dom4j-1.6.1.jar jsr173_1.0_api.jar poi-3.7-20101029.jar poi-ooxml-3.7-20101029.jar poi-ooxml-schemas-3.7-20101029.jar poi-scratchpad-3.7-20101029.jar ...
java poi读取excel表格数据一整套jar包 包括(dom4j和xmlbeans包)
1.java使用poi生成excel插入图表曲线 2.demo包含完成jar包 3.主要用途是过滤数据自动生成曲线图
Java通过POI读取Excel遍历数据,根本word模板批量生成word文档,demo可运行,可根据需求修改
通过poi读取excel表格信息,可以实现对97,2003,2007,2010等excel表格的读取
我分享的资源分必须为0!这里面所有读取Excel的poi包都有,虽然版本不是都相同,还有两个必须的,但是不是poi的包,我试过了,没有这两个包,虽然代码可能没错,但是运行会出错。
压缩包里面有poi相关的jar包,以及我在使用poi时候导入jar包遇到问题总结和一个小demo。
JAVA IO操作 POI读取excel的内容
Java使用apache POI读取xlsx代码以及相关jar包
这个是使用java语言 poi导入excel到数据库中,同时使用了xml对excel的每个单元格数据进行了非空验证。经测试,导入数据库成功。