POI兼容2003和2007

仅在工作簿初始化时使用类,对工作表,行,单元格操作时均使用接口。

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
 
/*1、根据文件扩展名初始化Workbook*/
String file = "c:/excel.xlsx";
Workbook wb = null;
if(file.toLowerCase().endsWith(".xlsx")){
    wb = new XSSFWorkbook(new FileInputStream(file));
}else if(file.toLowerCase().endsWith(".xls")){
    wb = new HSSFWorkbook(new FileInputStream(file));
}
 
/*2、根据索引(也可根据工作表名称)取工作表*/
Sheet sheet = wb.getSheetAt(0);
 
/*3、遍历行,最大行号sheet.getLastRowNum()或sheet.getPhysicalNumberOfRows()*/
Row row = sheet.getRow(0);
 
/*4、遍历列,最大列号row.getLastCellNum()或row.getPhysicalNumberOfCells()*/
Cell cell = row.getCell(0);
 
/*5、根据单元格类型取单元格值*/
switch(cell.getCellType()){
case Cell.CELL_TYPE_STRING:
    cell.getStringCellValue();
    break;
case Cell.CELL_TYPE_NUMERIC:
    cell.getNumericCellValue();
    break;
case Cell.CELL_TYPE_FORMULA:
    cell.getCellFormula();
    break;
default:
    
}

你可能感兴趣的:(面向接口)