关闭

使用POI解析Excel,2007和2003

276人阅读 评论(0) 收藏 举报
第一种解析2007:
package poiExpExcel;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import org.apache.commons.io.FileUtils;
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;



public class readExcel {

public static void main(String[] args) throws IOException {
// 需要解析的excel文件
readExcel re = new readExcel();  
      
    re.readXls();
}
private void readXls() throws IOException{  
    InputStream is = new FileInputStream( "D:\\studentexcel\\导入学生模板.xls");  
    HSSFWorkbook hssfWorkbook = new HSSFWorkbook( is);   
      
    // 循环工作表Sheet  
    for(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++){  
      HSSFSheet hssfSheet = hssfWorkbook.getSheetAt( numSheet);  
      if(hssfSheet == null){  
        continue;  
      }  
        
      // 循环行Row   
      for(int rowNum = 2; rowNum <= hssfSheet.getLastRowNum(); rowNum++){  
        HSSFRow hssfRow = hssfSheet.getRow( rowNum);  
        if(hssfRow == null){  
          continue;  
        }  
          
        // 循环列Cell    
        for(int cellNum = 0; cellNum <= hssfRow.getLastCellNum(); cellNum++){  
          HSSFCell hssfCell = hssfRow.getCell( cellNum);  
          if(hssfCell == null){  
            continue;  
          }  
            
          System.out.print("    " + getValue( hssfCell));  
        }  
        System.out.println();  
      }  
    }  
  }  
private String getValue(HSSFCell hssfCell){  
    if(hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN){  
      return String.valueOf( hssfCell.getBooleanCellValue());  
    }else if(hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC){  
      return String.valueOf( hssfCell.getNumericCellValue());  
    }else{  
      return String.valueOf( hssfCell.getStringCellValue());  
    }  
  }  

}

第二种解析2003:
package poiExpExcel;

import java.io.IOException;  
import org.apache.poi.xssf.usermodel.XSSFCell;  
import org.apache.poi.xssf.usermodel.XSSFRow;  
import org.apache.poi.xssf.usermodel.XSSFSheet;  
import org.apache.poi.xssf.usermodel.XSSFWorkbook; 

public class readExcel2 {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
readExcel2 re = new readExcel2();
re.readXlsx();
}

 private void readXlsx() throws IOException{  
    String fileName = "D:\\studentexcel\\导入学生模板.xlsx";  
    XSSFWorkbook xssfWorkbook = new XSSFWorkbook( fileName);  
      
    // 循环工作表Sheet  
    for(int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++){  
      XSSFSheet xssfSheet = xssfWorkbook.getSheetAt( numSheet);  
      if(xssfSheet == null){  
        continue;  
      }  
        
      // 循环行Row   
      for(int rowNum = 2; rowNum <= xssfSheet.getLastRowNum(); rowNum++ ){  
        XSSFRow xssfRow = xssfSheet.getRow( rowNum);  
        if(xssfRow == null){  
          continue;  
        }  
          
        // 循环列Cell     
        for(int cellNum = 0; cellNum <= xssfRow.getLastCellNum(); cellNum++){  
          XSSFCell xssfCell = xssfRow.getCell( cellNum);  
          if(xssfCell == null){  
            continue;  
          }  
          System.out.print("   "+getValue(xssfCell)); 
        }  
        System.out.println();  
      }  
    }  
  }  
    
  @SuppressWarnings("static-access")  
  private String getValue(XSSFCell xssfCell){  
    if(xssfCell.getCellType() == xssfCell.CELL_TYPE_BOOLEAN){  
      return String.valueOf( xssfCell.getBooleanCellValue());  
    }else if(xssfCell.getCellType() == xssfCell.CELL_TYPE_NUMERIC){  
      return String.valueOf( xssfCell.getNumericCellValue());  
    }else{  
      return String.valueOf( xssfCell.getStringCellValue());  
    }  
  }  
}
导入的包:
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31396次
    • 积分:561
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:16篇
    • 译文:2篇
    • 评论:0条
    文章分类