zoukankan      html  css  js  c++  java
  • POI简易帮助文档系列--读取Excel文件

      上篇博客通过简单的几行代码就学会了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内容了。

      效果如下:

      

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

  • 相关阅读:
    [SPOJ-TTM]To the moon
    [BZOJ1901]Zju2112 Dynamic Rankings
    [算法模板]ST表
    [算法模板]树状数组
    [SPOJ-COT]Count on a tree
    [算法模板]倍增求LCA
    【bzoj 3433】{Usaco2014 Jan} Recording the Moolympics(算法效率--贪心)
    【uva 1152】4 Values Whose Sum is Zero(算法效率--中途相遇法+Hash或STL库)
    【uva 658】It's not a Bug, it's a Feature!(图论--Dijkstra或spfa算法+二进制表示+类“隐式图搜索”)
    【uva 10048】Audiophobia(图论--Floyd算法)
  • 原文地址:https://www.cnblogs.com/jyh317/p/3817066.html
Copyright © 2011-2022 走看看