2012-10-10 45 views
3

我正在使用JDBC-ODBC DSN-less連接來連接到ms-excel文件。 我能夠查詢使用形式odbc excel java

SELECT * FROM [Sheet1$] 

查詢Excel文件然而,這需要我知道在Excel文件中的工作表的名稱(這可能並不總是工作表Sheet1)。有什麼辦法可以查詢excel,總是打到第一張紙嗎?

+2

您可以使用'DatabaseMetaData.getTables'方法。 – adatapost

+0

@AVD getTables方法應該使用哪些參數? 4個空值? http://docs.oracle.com/javase/6/docs/api/java/sql/DatabaseMetaData.html#getTables(java.lang.String,java.lang.String,java.lang.String,java.lang。字符串[]) – user1581900

+1

除第三。例如'dbMetaData.getTables(null,null,「%」,null);' – adatapost

回答

1

用途:

DatabaseMetaData meta = con.getMetaData(); 

其中con是你的連接。在元對象,你可以撥打:

getSchema(); 
getTables(null, null, "%", null); // thanks to AVD 

這兩種方法會返回您可以在其中遍歷,看看裏面有什麼結果集。不保證getTables()方法will return full data

也許我引用了錯誤的方法,但我相信你可以在DatabaseMetaData類中找到一些能夠在excel的情況下返回所需的類。