上篇博客通过简单的几行代码就学会了POI新建Excel文档的使用,本篇博客也从简单出发,通过查看POI的官网文档和一个简单的代码实例,学习怎么遍历出一个Excel文档的内容。

  

 1 package com.myjava.poi;
 2 
 3 import java.io.FileInputStream;
 4 import java.io.InputStream;
 5 
 6 import org.apache.poi.hssf.usermodel.HSSFCell;
 7 import org.apache.poi.hssf.usermodel.HSSFRow;
 8 import org.apache.poi.hssf.usermodel.HSSFSheet;
 9 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
10 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
11 
12 public class ReadExcel {
13 
14     public static void main(String[] args) throws Exception{
15         /**
16          * 从文件系统中的“饭菜名单.xls”文件中获得输入字节
17          */
18         InputStream is=new FileInputStream("D:\\饭菜名单.xls");
19         //「POIFSFileSystem」类对象可以把Excel文件作为数据流来进行传入传出。
20         POIFSFileSystem fs=new POIFSFileSystem(is);
21         HSSFWorkbook wb=new HSSFWorkbook(fs);
22         /** 获取第一个Sheet页或根据名字获得sheet页
23         *public HSSFSheet getSheet(java.lang.String name)
24         *Get sheet with the given name 
25         */
26         HSSFSheet hssfSheet=wb.getSheetAt(0); 
27         if(hssfSheet==null){
28             return;
29         }
30         // 遍历行Row
31         for(int rowNum=0;rowNum<=hssfSheet.getLastRowNum();rowNum++){
32             HSSFRow hssfRow=hssfSheet.getRow(rowNum);
33             if(hssfRow==null){
34                 continue;
35             }
36             // 遍历列Cell
37             for(int cellNum=0;cellNum<=hssfRow.getLastCellNum();cellNum++){
38                 HSSFCell hssfCell=hssfRow.getCell(cellNum);
39                 if(hssfCell==null){
40                     continue;
41                 }
42                 System.out.print("  "+getValue(hssfCell));
43             }
44             System.out.println();
45         }
46     }
47     
48     private static String getValue(HSSFCell hssfCell){
49         if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
50             return String.valueOf(hssfCell.getBooleanCellValue());
51         }else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
52             return String.valueOf(hssfCell.getNumericCellValue());
53         }else{
54             return String.valueOf(hssfCell.getStringCellValue());
55         }
56     }
57 }

  这样就读出了我们上篇博客存入的Excel内容了。

  效果如下:

  

  新知识给人的感觉就是非常的困难,所以所有人对新知识都心生恐惧,因此,这篇博客从简单出发,让人扫一眼就能记住,不会有太大负担,让学习轻松起来。

posted on 2014-06-30 18:06  贞心真义  阅读(4127)  评论(0编辑  收藏  举报