首页 > OOP语言 > 其它 > 正文

使用Apache POI读取Excel文件
2012-08-22 18:23:08   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

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 "";
       }

相关热词搜索:

上一篇:WebSphere Integration Developer指导教程 第1部分
下一篇:Scala的快速排序

分享到: 收藏