Java代码  
  1. 以下是项目当中用到的很简单的Java解析Excel的例子,和大家分享,需要引入jxl.jar包  
  2. public ArrayList parseVideo() {  
  3.   
  4.         try {  
  5.             Workbook book = Workbook.getWorkbook(new File("ua.xls"));  
  6.             Sheet se = book.getSheet(1);得到第1个sheet(Excel通常会有3个Sheet)  
  7.             int rownum = se.getRows();   //得到总行数  
  8.             // Cell ce = null;  
  9.             // StringBuffer su = new StringBuffer();  
  10.             ArrayList list = new ArrayList();  
  11.             DBManager db = new DBManager();  
  12.             conn = db.getConnection();  
  13.             stmt = conn.createStatement();  
  14.             for (int i = 1; i < rownum; i++) {  
  15.                 Mobilemeter rea = new Mobilemeter();  
  16.                 rea.setMobileID(se.getCell(0, i).getContents());  //第i行的第1列  
  17.                 rea.setModel(se.getCell(3, i).getContents());//第i行的第4列  
  18.                 rea.setShortUA(se.getCell(11, i).getContents());  
  19.                 String arr = se.getCell(8, i).getContents();  
  20.                 String ayy = arr.replaceAll("\\u002A""x");  
  21.                 rea.setPicFormat(se.getCell(8, i).getContents());  
  22.                 rea.setResourceRing(se.getCell(9, i).getContents());  
  23.                 rea.setRingFormat(se.getCell(10, i).getContents());  
  24.                 list.add(rea);  
  25.             }  
  26.             book.close();  
  27.             return list;  
  28.         } catch (Exception e) {  
  29.             e.printStackTrace();  
  30.             return null;  
  31.         }  
  32.   
  33.     } 











使用POI解析EXCEL

Excel Java Apache log4j 
1. 环境
   jdk1.6
   poi3.6
2. 解析工具类


import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;
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 ExcelParser implements Iterator> {
   
    private static final Logger logger = Logger.getLogger(ExcelParser.class);
   
    private InputStream is = null;
    private Iterator rowIterator = null;

    public ExcelParser(String excelFile){
        HSSFWorkbook book = null;
        HSSFSheet sheet = null;
        try {
            is = new FileInputStream(excelFile);
            book = new HSSFWorkbook(is);
            sheet = book.getSheetAt(0);
            rowIterator = sheet.rowIterator();
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
        }
    }
   
    public boolean hasNext(){
        return rowIterator.hasNext();
    }
   
    public List next(){
        HSSFRow row = (HSSFRow)rowIterator.next();
        List erow = new ArrayList();
        Iterator cellIterator = row.cellIterator();
        while(cellIterator.hasNext()){
            HSSFCell cell = (HSSFCell)cellIterator.next();
            erow.add(this.getCellValue(cell));
        }
        return erow;
    }
   
    public void remove(){
        throw new UnsupportedOperationException("本EXCEL解析器是只读的.");
    }
   
    private String getCellValue(HSSFCell cell){
        String value = null;
        //简单的查检列类型
        switch(cell.getCellType())
        {
            case HSSFCell.CELL_TYPE_STRING://字符串
                value = cell.getRichStringCellValue().getString();
                break;
            case HSSFCell.CELL_TYPE_NUMERIC://数字
                long dd = (long)cell.getNumericCellValue();
                value = dd+"";
                break;
            case HSSFCell.CELL_TYPE_BLANK:
                value = "";
                break;   
            case HSSFCell.CELL_TYPE_FORMULA:
                value = String.valueOf(cell.getCellFormula());
                break;
            case HSSFCell.CELL_TYPE_BOOLEAN://boolean型值
                value = String.valueOf(cell.getBooleanCellValue());
                break;
            case HSSFCell.CELL_TYPE_ERROR:
                value = String.valueOf(cell.getErrorCellValue());
                break;
            default:
                break;
        }
        return value;
    }
   
    public void close(){
        if(is != null){
            try {
                is.close();
            } catch (IOException e) {
                logger.error(e.getMessage(), e);
            }
        }
    }//close
   
}
 
3. 用法
ExcelParser ep = new ExcelParser("d:/test.xls");
        while(ep.hasNext()){
            List row = ep.next();
            System.out.println(row.get(0) + ", " + row.get(1));
        }
        ep.close();