jdbc mysql excel_java-使用jdbc将excel作为数据库访问

皇甫鸿远
2023-12-01

我必须设计一个用于将Excel应用程序作为数据库访问的应用程序.我的问题是我必须为每个事务创建多个连接,如果我错过关闭它的任何操作,Excel不会被更新.

我想设计可以访问Excel的模式.任何人都可以帮助我设计一种通用的模式,这样我就不会遇到问题.我想要this之类的东西,但是我们无法使用它来访问excel.

提前致谢!

我在实用程序类中有此方法

static ResultSet getExcelData(String filePath,String sqlQuery){

ResultSet rs=null;

try{

conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ="+filePath+";READONLY=false");

stmt= conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);

rs=stmt.executeQuery( sqlQuery );

}catch (Exception e) {

e.printStackTrace();

return null;

// TODO: handle exception

}finally{

}

return rs;

}

我这样称呼它

ResultSet rs=JdbcUtil.getExcelData("D:\AB_demo\AB_demo\test.xls", "Select max(int(ID)) from [MAIN$] where HEADER_IND is not Null AND int(ID)

int databaseId = 0;

if(rs.next())

{

databaseId=rs.getInt(1);

}

ResultSet rs1=JdbcUtil.getExcelData("D:\AB_demo\AB_demo\test.xls", "SELECT * from [MAIN$] where id= '"+databaseId+"'or id='"+excelId+"'");

我两次调用此方法,之后我通过使用来更新excel文件

stmt.executeUpdate(sql);

它返回整数1但不反映在excel中.当我使用Process Explorer时,该文件仍在使用中.我需要一种设计模式或代码来克服他的这类问题.

 类似资料: