perhaps you needs this sample codeimport java.io.*;
import java.sql.*;
    public class ExcelReadTest{
         public static void main(String[] args){
         Connection connection = null;
             try{
             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
             Connection con = DriverManager.getConnection( "jdbc:odbc:exceltest" );
             Statement st = con.createStatement();
             ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" );
            
             ResultSetMetaData rsmd = rs.getMetaData();
             int numberOfColumns = rsmd.getColumnCount();
            
            
                 while (rs.next()) {
                     for (int i = 1; i <= numberOfColumns; i++) {
                     if (i > 1) System.out.print(", ");
                     String columnValue = rs.getString(i);
                     System.out.print(columnValue);
                     }
                     System.out.println("");
                     }
                    
                     st.close();
                     con.close();
                         } catch(Exception ex) {
                         System.err.print("Exception: ");
                         System.err.println(ex.getMessage());
                         }
                         }
                    }

解决方案 »

  1.   

    不行,query加了where 就出错说说java.sql.SQLException: [Microsoft][ODBC Excel Driver] 参数不足,期待是 1why?
      

  2.   

    我试了查询加where子句的在列的表头不是下拉菜单的excel,就可以..是不是跟这个下拉菜单的表头有关系呢??
      

  3.   

    columnValue = rs.getString(i);这里才得到对应col的值啊?你再看看,俺要饭饭了。搞不定的话明儿再说,加油加油:)
      

  4.   

    我把显示的while{}都注释掉了,直接rs.excute(query)就出错...
      

  5.   

    我发现了,excel就是屎,很不标准的屎,稍微有点变化,就都不出来...