Java 读取Excel文件(POI)
来源:互联网 发布:mac os x 启动盘 编辑:程序博客网 时间:2024/05/21 10:37
POI读取Excel有两种格式一个是HSSF,另一个是XSSF。本文主要是利用HSSF读取Excel
先说下HSSF和XSSF的区别
官方给出的解释如下:
HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel 2007 OOXML (.xlsx) file format.
即:HSSF适用2007及以前的版本,XSSF适用2007版本以上的
现在进入正题
Step1:读取Excel
FileInputStream fis = new FileInputStream(path);//path为Excel路径HSSFWorkbook wb = new HSSFWorkbook(fis);
Step2:获取Excel中的Sheet
Sheet sheet = wb.getSheetAt(sheetNumber);//sheetNumber为sheet的编号,从0开始
Step3:遍历每行(Row)中的每个单元格(Cell)的内容
for (Iterator<Row> rit = sheet.rowIterator(); rit.hasNext();) {Row row = rit.next();for (Iterator<Cell> cit = row.cellIterator(); cit.hasNext();) {Cell cell = cit.next();//做些什么}}PS:用Row对象的cellIterator()方法遍历每行的单元格,当单元格内容为NULL的时候,是会自动跳过的 (囧 我就吃了这个亏……),可以改用Row对象的getCell(int num)方法,获得num指的的单元格内容(可能为NULL)
Step4:获得单元格(Cell)内容,以下是我根据官方给出的方法,自己改了下,返回的都是String类型的值(项目需要 Orz)
private String returnCellValue(Cell cell) { String value = ""; switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING:value = cell.getRichStringCellValue().getString();break;case Cell.CELL_TYPE_NUMERIC:if (DateUtil.isCellDateFormatted(cell)) {Date date = cell.getDateCellValue();value = date.toString();} else {int d = (int) cell.getNumericCellValue();value = d + "";}break;case Cell.CELL_TYPE_BOOLEAN:boolean b = cell.getBooleanCellValue();value = b + "";break;case Cell.CELL_TYPE_FORMULA:value = cell.getCellFormula();break;default:// System.out.println();} return value;}
- Java 读取Excel文件(POI)
- java poi读取excel文件
- Java--POI读取excel文件
- java poi读取excel文件
- java 读取Excel文件(POI)
- java POI 读取EXCEL文件
- [JAVA] java读取Excel文件,Apache POI
- java中用poi读取Excel文件
- Java用poi读取excel文件
- java 操作 poi 解析、读取 Excel 文件
- 使用java poi 读取excel文件
- 【java】使用POI读取excel文件内容
- JAVA利用Apache Poi读取Excel文件
- java poi读取excel文件内容
- Java使用poi读取Excel文件例子
- 【Apache POI】Java 读取Excel文件
- Java使用POI读取Excel文件
- Java用poi读取excel文件
- cocos3d中利用CC3VertexLocations画顶点
- C++运算符重载
- IRubberBand接口(橡皮条绘制点、线、面)
- PowerMultiSequence幂积序列
- OpenGL VBO顶点缓冲的使用
- Java 读取Excel文件(POI)
- [转]蚂蚁群行为酷似互联网传输协议
- Step By Step(C++模板函数)
- 生成模拟器和手机通用的库
- Android 漂浮的Activity
- 倒排索引-搜索引擎的基石
- Step By Step(C++模板类)
- DB2分区概念
- grep中整字匹配