有两个包
一个是http://jakarta.apache.org/poi/index.html
另一个是http://www.andykhan.com/jexcelapi/
自己去看看吧

解决方案 »

  1.   

    干嘛一定要用jdbc?
    对于Excel我觉得jxl包比较好用。
    还有一个jacob包,还不是很会用,不过这个包能够处理Excel、Access等,它的全称是java com bridge,至于你具体选择哪个包,还是看你自己个人的喜好吧。
      

  2.   

    因为我要做到把EXCEL当作数据源一样进行查询,可以接受SQL语句然后返回结果.
    所以想找个不用通过ODBC的东西,因为不希望限制在微软的平台上.POI和JXL我都用过了,自己去解析SQL语句太麻烦了,而且做起来有点困难.有没有人知道这个东西在哪里可以找到啊?
      

  3.   

    //JdbcExcel.java
    //用jdbc-odbc桥,直接连接Excel,无需配置odbc数据源
    import java.io.*;
    import java.sql.*;public class JdbcExcel{
    public static void main(String[] args){
    try{
    //Load JDBC driver
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); /*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
    /*{Microsoft Access Driver (*.mdb)}部分可以在控制面板-ODBC中的Drivers(驱动程序)找到*/
    /*这样其他的数据库也可以通过同样的方式访问,如Excel、FoxPro等*/
    String dbUrl = "jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=H:\\XSchool\\Rookie_Tip_Show\\JdbcData.xls"; Connection con = DriverManager.getConnection(dbUrl,"","");   
    Statement state = con.createStatement();
    //执行SQL语句
    String sql = "Select * From [Sheet1$]";
    ResultSet rs = state.executeQuery(sql);
    //打印测试
    if( rs != null ){
    System.out.println("姓名\t年龄\t分数");
       while( rs.next() ){
      System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
      }
      rs.close();
    }
    state.close();
    con.close();
    }catch(Exception e){e.printStackTrace();}
    }
    }//
      

  4.   

    hehe,楼上这位的办法行是行,实际上呢,离开windows平台我看你这段代码还能运行?jdbc:odbc:driver={Microsoft Excel Driver (*.xls)};DBQ=H:\\XSchool\\Rookie_Tip_Show\\JdbcData.xls这一段和odbc桥有什么区别啊?
      

  5.   

    //用jdbc-odbc桥,直接连接Excel,无需配置odbc数据源
    rootwuyu(wuyu)朋友,,没看到这行注释么,,我没有说不是jdbc-odbc的方式啊
      

  6.   

    想摆脱ms很简单,不要用excel就是了。你可以先在win下把excel转成其他格式,比如cvs
      

  7.   

    先谢谢楼上的各位,虽然没有找到我想要的东西:)对EXCEL的支持是不能放弃的,毕竟太广泛了.看来只有在客户端做个东西了.服务器端肯定不能限于MS的平台.结贴送分.