使用jdbc连接到Excel表格,而不指定DSN到Excel表格

我想使用jdbc或其他方法连接到Excel工作表,但我不想使用pipe理工具指定相同的DSN。 他们是否使用代码来做到这一点? 如果是的话如何?

提前致谢

也可以在不使用DSN的情况下连接到电子表格,DSN提供了一种更灵活的方法,可以在感兴趣的Excel文件中指定JDBC,而无需访问客户端registry来定义所需的DSN。 没有DSN,db连接创build如下,请不要区别构造的JDBC URL:

java.sql.DriverManager.getConnection( "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=C:/Documents and Settings/myPath/Desktop/qa.xls"); 

这里DBQ定义目标电子表格文件(qa.xls)的path。 反斜杠和正斜杠都能正常工作。

来源: 可用的来源

你要避免的是一个DSNless连接string。 有关详细信息,请参阅http://support.microsoft.com/kb/165866 。 然而,我会selectJayan 14提到的Apache POI。

尝试更改驱动程序名称从Microsoft Excel Driver(*.xls)驱动程序执行Microsoft Excel(*.xls)

java.sql.DriverManager.getConnection("jdbc:odbc:Driver={Driver do Microsoft Excel(*.xls)};DBQ=C:/Documents and Settings/myPath/Desktop/qa.xls");

如果你想更新excel文件,使用下面的连接string:

java.sql.DriverManager.getConnection("jdbc:odbc:Driver={Driver do Microsoft Excel(*.xls)};DBQ=C:/Documents and Settings/myPath/Desktop/qa.xls;ReadOnly=0");