Try the Apache POI HSSF. Here's an example on how to read an excel file:

	try {
		POIFSFileSystem fs = newPOIFSFileSystem(newFileInputStream(file));
		HSSFWorkbook wb = newHSSFWorkbook(fs);
		HSSFSheet sheet = wb.getSheetAt(0);
		HSSFRow row;
		HSSFCell cell;
		int rows;
		rows = sheet.getPhysicalNumberOfRows();
		int cols = 0;
		int tmp = 0;
		for (int i = 0; i < 10 || i < rows; i++) {
			row = sheet.getRow(i);
			if (row != null) {
				tmp = sheet.getRow(i).getPhysicalNumberOfCells();
				if (tmp > cols)
					cols = tmp;
			}
		}
		for (int r = 0; r < rows; r++) {
			row = sheet.getRow(r);
			if (row != null) {
				for (int c = 0; c < cols; c++) {
					cell = row.getCell((short) c);
					if (cell != null) {
					}
				}
			}
		}
	} catch (Exception ioe) {
		ioe.printStackTrace();
	}
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class ParseExcel {

     static List parse(File file) {
          List excelValueList = new ArrayList();
          if (file.exists() && file.canRead()
                    && (file.getName().lastIndexOf(".xls") >= 1)) {
               Workbook workbook = null;
               try {
                    workbook = Workbook.getWorkbook(file);
                    Sheet sheet = workbook.getSheet(0);
                    int row = sheet.getRows();
                    int col = sheet.getColumns();
                    for (int r = 0; r < row; r++) {
                         String[] rowValue = new String[col];
                         for (int c = 0; c < col; c++) {
                              rowValue[c][/c] = sheet.getCell(c, r).getContents() != null ? sheet
                                        .getCell(c, r).getContents()
                                        : "";
                         }
                         excelValueList.add(rowValue);
                    }
               } catch (BiffException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
               } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
               } finally {
                    if (workbook != null) {
                         workbook.close();
                    }
               }
          }
          return excelValueList;
     }
     public static void main(String[] args) {
          String fname = "E:\\1\\高新技术(处理后).xls";
          File file = new File(fname);
          List excelValueList = new ArrayList();
          excelValueList = parse(file);
          for(String[] sa:excelValueList){
               for(String s:sa){
                    System.out.print(s+"----");
               }
               System.out.println();
          }
     }

}