您的位置:首页 > 编程语言 > Java开发

java的poi技术读取Excel

2015-11-26 20:23 435 查看
http://www.cnblogs.com/hongten/p/java_poi_excel_xls_xlsx.html

使用poi来解析Excel的xls和xlsx。转自 http://hao0610.iteye.com/blog/1160678
解析xls

import java.io.FileInputStream;  

import java.io.IOException;  

import java.io.InputStream;  

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 XlsMain {  

  

  public static void main( String[] args) throws IOException {  

    XlsMain xlsMain = new XlsMain();  

      

    xlsMain.readXls();  

  }  

  

  private void readXls() throws IOException{  

    InputStream is = new FileInputStream( "D:\\excel\\xls_test2.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 = 0; 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();  

      }  

    }  

  }  

    

  @SuppressWarnings("static-access")  

  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());  

    }  

  }  

    

}  

解析xlsx

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 XlsxMain {  

  

  public static void main( String[] args) throws IOException {  

    XlsxMain xlsxMain = new XlsxMain();  

      

    xlsxMain.readXlsx();  

  }  

  

  private void readXlsx() throws IOException{  

    String fileName = "D:\\excel\\xlsx_test.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 = 0; 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());  

    }  

  }  

    

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  poi excel java