使用Apache POI读取Excel文件

Apache POI是Apache软件基金会的开放源码函式库,用来帮助Java程序读写Microsoft Office的格式档案。POI提供了下面这几种类型对Microsoft Office的格式档案进行解析:

HSSF - 提供读写Microsoft Excel XLS格式档案的功能。

XSSF - 提供读写Microsoft Excel OOXML XLSX格式档案的功能。

HWPF - 提供读写Microsoft Word DOC格式档案的功能。

HSLF - 提供读写Microsoft PowerPoint格式档案的功能。

HDGF - 提供读Microsoft Visio格式档案的功能。

HPBF - 提供读Microsoft Publisher格式档案的功能。

你可以访问POI的主页http://poi.apache.org/ 下载你喜欢的版本和了解更多的信息.

这里只介绍使用POI读取Excel文件,在读取Excel时首先要定位Excel文件的位置,然后通过POI的API生成一个工作表HSSFWorkbook对象:

File file = new File(filePath);
     FileInputStream fint = new FileInputStream(file);
     POIFSFileSystem poiFileSystem = new POIFSFileSystem(fint);
     HSSFWorkbook workbook = new HSSFWorkbook(poiFileSystem);

可以通过HSSFWorkbook提供的getSheetAt(int sheetNum)访问对应的子工作表HSSFSheet,序号从'0'开始.在获得HSSFSheet对象后通过sheet.getRow(rowNum)方法获得子工作表的指定行HSSFRow,HSSFRow提供了getCell(short)方法访问其中的单元格对象.在处理单元格的时候要注意,不能简单使用HSSShell的getStringCellValue()方法获得单元格中的值,在我使用的版本中(2.0)没有提供自动类型转换的功能,所以在取值的时候要根据类型判断:

public static String getCell(HSSFCell cell) {
         if (cell == null)
             return "";
         switch (cell.getCellType()) {
           case HSSFCell.CELL_TYPE_NUMERIC:
               return cell.getNumericCellValue() + "";
           case HSSFCell.CELL_TYPE_STRING:
               return cell.getStringCellValue();
           case HSSFCell.CELL_TYPE_FORMULA:
               return cell.getCellFormula();
           case HSSFCell.CELL_TYPE_BLANK:
               return "";
           case HSSFCell.CELL_TYPE_BOOLEAN:
               return cell.getBooleanCellValue() + "";
           case HSSFCell.CELL_TYPE_ERROR:
              return cell.getErrorCellValue() + "";
          }
          return "";
       }

时间: 2024-10-03 03:21:43

使用Apache POI读取Excel文件的相关文章

Java中使用Apache POI读取word文件简单示例_java

Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1.读取word 2003及word 2007需要的jar包 读取 2003 版本(.doc)的word文件相对来说比较简单,只需要 poi-3.5-beta6-20090622.jar 和 poi-scratchpad-3.5-beta6-20090622.jar 两个 jar 包即可, 而 2007 版本(.docx)就麻烦多,我说的这个麻烦不

Java使用Apache POI操作excel文件

官方介绍 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. 从官方文档中了解到:POI提供的HSSF包用于操作 Excel '97(-2007)的.xls文件,而XSSF包则用于操作

java代码-关于poi类java读取Excel文件出现ioexception异常Invalid header signature

问题描述 关于poi类java读取Excel文件出现ioexception异常Invalid header signature 读取是因为头部文件无法识别,我按一般方法是另存为就可以了,有没别的方法是通过代码实现的,我写的功能是通过jsp来上传excel到临时文件,在用poi类来读取,所以打开excel另存为的方法不适合我,求救,很急 解决方案 用poi处理excel文件异常:java.io.IOException: Invalid header signature; read 23380427

使用poi读写excel文件

原文http://www.cnblogs.com/ryb/archive/2013/01/24/2875154.html 今天一个同学需要处理一个excel文件,于是我便在网上搜了一下方法,顺便自己研究一下.刚刚参考网上资料,使用poi库测试了一下读取excel文件,效果不错,跟大家分享一下. 要读取的excel文件内容如下: 第一列是数值型,第二列是字符型,代码如下: package poi; import java.io.FileInputStream; import java.io.Inp

java poi读取excel操作示例(2个代码)_java

项目中要求读取excel文件内容,并将其转化为xml格式.常见读取excel文档一般使用POI和JExcelAPI这两个工具.这里我们介绍使用POI实现读取excel文档. 复制代码 代码如下: /* * 使用POI读取EXCEL文件 */import java.io.File;import java.io.FileInputStream;import java.util.ArrayList; import org.apache.poi.hssf.usermodel.HSSFCell;impor

POI 读取EXCEL实现程序

 代码如下 复制代码   /*   * 使用POI读取EXCEL文件   */  import java.io.File;  import java.io.FileInputStream;  import java.util.ArrayList;    import org.apache.poi.hssf.usermodel.HSSFCell;  import org.apache.poi.hssf.usermodel.HSSFRow;  import org.apache.poi.hssf.u

java web-POI读取EXCEL文件的错误(invalid header signature )处理

问题描述 POI读取EXCEL文件的错误(invalid header signature )处理 如题,网上很多说是获取信息头部出错,保存或者另存为就可以,我试了下的确可以,但是我不用保存,只要打开下或者重命名也能读取了,打开也没显示格式错误,更重要的是我功能是读取客户端的excel..不可能每次都手动操作,我现在实现的功能是用jsp的FileUpload上传的临时区用poi存储,有没高手帮忙解决更奇怪的是我在eclipse调试却完全没问题,这很重要,已经穷途末路,大家给点意见 解决方案 是因

java使用POI读取properties文件并写到Excel的方法_java

本文实例讲述了java使用POI读取properties文件并写到Excel的方法.分享给大家供大家参考.具体实现方法如下: package com.hubberspot.code; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import

java读取excel文件并复制(copy)文件到指定目录示例_java

复制代码 代码如下: mport java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.ArrayList;import java.util.List; import org.apach