java读取excel

/*
     * this function will read from excel 
     * and will return the items of excel
     */
    
    public static String[][] readExcel(String config) throws IOException
    {
        
        File f=new File(config);
        if(!f.exists())
        {
            return null;
        }
        FileInputStream fs = new FileInputStream(f);
        //create a workbook 
        Workbook wb =  new HSSFWorkbook(fs);
     
        Sheet sheet = wb.getSheetAt(0);
        int rows=sheet.getLastRowNum();
        Row firstRow=sheet.getRow(0);
        int columns=firstRow.getLastCellNum();
        String[][] data=new  String[rows+1][columns]; 
          for(int rownum=0;rownum<=sheet.getLastRowNum();rownum++)    {
                //for (Cell cell : row) 
                 Row row = sheet.getRow(rownum);

                 if (row == null) {

                     continue;

                 }
                String value;
                for(int cellnum=0;cellnum<=row.getLastCellNum();cellnum++){
                    
                    Cell cell=row.getCell(cellnum);
                    // filter the null cells 
                    if(cell==null)
                    {
                        continue;
                    }
                    else {
                        value="";
                    }
                    switch (cell.getCellType()) {
                        case Cell.CELL_TYPE_STRING:
                           // System.out.println(cell.getRichStringCellValue().getString());
                            value=cell.getRichStringCellValue().getString();
                            break;
                        case Cell.CELL_TYPE_NUMERIC:
                            if (DateUtil.isCellDateFormatted(cell)) {
                                //System.out.println(cell.getDateCellValue());
                                value=cell.getDateCellValue().toString();
                                
                                
                            } else {
                               // System.out.println(cell.getNumericCellValue());
                                value=Double.toString((int)cell.getNumericCellValue());
                                
                            }
                            break;
                        case Cell.CELL_TYPE_BOOLEAN:
                            //System.out.println(cell.getBooleanCellValue());
                            value=Boolean.toString(cell.getBooleanCellValue());
                            break;
                        case Cell.CELL_TYPE_FORMULA:
                            //System.out.println(cell.getCellFormula());
                            value=cell.getCellFormula().toLowerCase();
                            break;
                        default:
                            value=" ";
                            System.out.println();
                    }
                    System.out.println(value);
               
                    data[rownum][cellnum]=value;
     
                }
          }        
        return data;
        
    }

 

posted @ 2014-08-19 20:06  to be crazy  阅读(1207)  评论(0编辑  收藏  举报