官方教學:
http://jakarta.apache.org/poi/hssf/quick-guide.html
http://jakarta.apache.org/poi/hssf/how-to.html

下載頁
http://www.apache.org/dyn/closer.cgi/poi/release/
poi-bin-3.2-FINAL-20081019.zip

解開得到下列三個
poi-3.2-FINAL-20081019.jar
poi-contrib-3.2-FINAL-20081019.jar
poi-scratchpad-3.2-FINAL-20081019.jar


import java.io.FileInputStream;
import java.io.IOException;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

//ReadExcel.java
public class ReadExcel {

    private String filePath = "c:\\Test.xls";
    String[] strData = new String[3] ;
    
    public void readExcel() throws IOException {
        FileInputStream fis = new FileInputStream(filePath);
        POIFSFileSystem fs = new POIFSFileSystem( fis );
        HSSFWorkbook wb = new HSSFWorkbook(fs);
        HSSFSheet sheet = wb.getSheetAt(0); // 取得Excel第一個sheet(從0開始)
        HSSFCell cell;
       
        //getPhysicalNumberOfRows這個比較好         //getLastRowNum:這個好像會差1筆
        for (int i = 1; i < sheet.getPhysicalNumberOfRows() ; i++) { // 由於第 0 Row 為 title, 故 i 從 1 開始
            HSSFRow row = sheet.getRow(i); // 取得第 i Row
            for (int j= 0; j < 3; j++){
                cell = row.getCell(j);
                strData[j] =  cell.toString();
            }    
            System.out.println("Name = " + strData[0] + ", Passwd = " + strData[1] + ", Email = " + strData[2]) ;    
        }

             fis.close();       
            }
    
    public static void main(String[] args) throws IOException {
        ReadExcel rafe = new ReadExcel();
        rafe.readExcel();            
    }    
}

 


 

 

創作者介紹
創作者 羅伯特 的頭像
羅伯特

Thinking in Robert

羅伯特 發表在 痞客邦 留言(0) 人氣()