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內容了。

  效果如下:

  

  新知識給人的感覺就是非常的困難,所以所有人對新知識都心生恐懼,因此,這篇博客從簡單出發,讓人掃一眼就能記住,不會有太大負擔,讓學習輕松起來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM