[實戰篇入門]01-POI讀Excel

  這一章的內容就是告訴各位同窗如何入門POI的簡單使用,再以後咱們還會學習如何封裝模版,因爲我的時間問題,不按期更新!若是有須要,請再QQ中聯繫我,好了,開始工做!html

  新建一個Java項目,首先須要一些列的jar包java

  直接上圖講解:apache

  

  這裏須要注意jar包的下載,須要再Apache官網 http://poi.apache.org/download.html  中下載對應POI的包,裏面有對應的API和幫助文檔,學習

  再搭建過程當中遇到了缺乏xmlbeans.jar的狀況,本身想辦法解決,我曾經告訴大家如何下載jar文件的網站測試

  新建一個excel文件reader.xlsx中內容以下:網站

  

  入門測試代碼:spa

public class PoiReaderTest {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI讀取Excel//xlxs//reader.xlsx"));
            Sheet sheet = workbook.getSheetAt(0);//經過索引獲取
            //獲取行
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            
            System.out.println(cell.getStringCellValue());
            
            
        } catch (InvalidFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

 

  讀取所有信息,這裏有一個簡單的封裝,不合格的封裝,就是爲了測試而已!excel

public class PoiReaderAllTest {

    public static void main(String[] args) {
        try {
            Workbook workbook = WorkbookFactory.create(new File("E://java-workspace//shxt-2014//1001-POI讀取Excel//xlxs//reader.xlsx"));
            Sheet sheet = workbook.getSheetAt(0);//經過索引獲取
            //獲取最後的行數
            System.out.println(sheet.getLastRowNum());
            
            //進行遍歷
            for(int i=0;i<=sheet.getLastRowNum();i++){
                //獲取每行
                Row row = sheet.getRow(i);
                //對列數進行遍歷
                for(int j=0;j<row.getLastCellNum();j++){
                    //獲取單元格
                    //Cell cell = row.getCell(j);
                    //每一個字符串都有本身的類型,因此須要對每一個單元格的數據進行轉換
                    System.out.print(getCellValue(row.getCell(j))+"--");
                }
                System.out.println();
            }
            
            
        } catch (InvalidFormatException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    private static String getCellValue(Cell cell){
        //返回值
        String result = null;
        switch (cell.getCellType()) {//獲取單元格的類型比較
        
        case Cell.CELL_TYPE_BLANK:
            result = "";
            break;
        case Cell.CELL_TYPE_BOOLEAN:
            result = String.valueOf(cell.getBooleanCellValue());
            break;
        case Cell.CELL_TYPE_FORMULA:
            result = String.valueOf(cell.getCellFormula());
            break;
        case Cell.CELL_TYPE_NUMERIC:
            result = String.valueOf(cell.getNumericCellValue());
            break;
        case Cell.CELL_TYPE_STRING:
            result = cell.getStringCellValue();
            break;

        default:
            result = null;
            break;
        }
        return result;
    }

}
相關文章
相關標籤/搜索