String sql = "select * from [Employee$] where id=" + empid;以上是我在java中写的语句,可是在运行会出现以下异常,我的Employee.xls文件是存在的,而且JDBC:ODBC驱动也没问题,那位高手能帮帮忙诰诉我是为什么吗?先行谢过!!java.sql.SQLException: [Microsoft][ODBC Excel Driver] 'Employee$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
at com.excel.TestExcel.getEmpInfo(TestExcel.java:61)
at com.excel.TestExcel.main(TestExcel.java:108)

解决方案 »

  1.   

    大哥,Sql语句那样写是没错的,sun公司就是那样规定的,虽然java是开源的,但我还没有那个去改变它源有的语法的能力,你的建议我早就用过了,不行啊,不过还是很感谢你!!
      

  2.   

    Employee.xls 是文件名,只要这个文件句不错,你的jdbc可以连接这具EXCEL文件。[Employee$] 是这个文件中的一个SHEET的名字。相当于一个数据库中的表名。另外注意你在EXCEL中看到的SHEET的CAPTION未必是名字,请进行按F11进入VBA后看对象名是什么。
    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html