我可以很好地读取行/列,但我无法更新,插入或删除.
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String myDB = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=myExcelFile.xls;"
+
"DriverID=22;READONLY=false";
con = DriverManager.getConnection(myDB, username, password);
stmt = con.createStatement();
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("SELECT * FROM [users$]");
while (rs.next()) {
String str = rs.getString("username");
System.out.println(str);
rs.updateString("username", str + "UPDATED");
rs.updateRow();
}
rs.close();
stmt.close();
con.close();
}catch(Exception e){System.out.println(e);}
当它到达rs.updateRow()时,此代码失败;并显示此错误:
java.sql.SQLException:
[Microsoft][ODBC Excel Driver]Error in
row
注意:有人说这是因为READONLY没有设置为false或0,但我已经完成了,并且Excel文件也没有设置为只读
我按照以下步骤在ResultSet对象中应用更新行:http://download.oracle.com/javase/tutorial/jdbc/basics/retrieving.html
解决方法:
您可以考虑使用Apache POI进行Excel集成.