使用jdbc连接到Excel工作表而不指定DSN到Excel工作表

时间:2013-08-12 06:56:16

标签: java excel jdbc

我想使用jdbc或其他方法连接到Excel工作表,但我不想使用管理工具指定相同的DSN。他们是否会使用代码来完成它?如果是的话怎么样?

提前致谢

3 个答案:

答案 0 :(得分:6)

还可以在不使用DSN的情况下连接到电子表格,这样可以在代码中提供更灵活的方式,将JDBC指向感兴趣的Excel文件,而无需访问客户端注册表来定义所需的DSN。如果没有DSN,则会创建db连接,如下所示,请不要构建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)的路径。反斜杠和正斜杠都运行良好。

来源:Available source

答案 1 :(得分:1)

您要避免的是DSN较少的连接字符串。见http://support.microsoft.com/kb/165866 详情。 然而,我会选择Jayan 14提到的Apache POI。

答案 2 :(得分:0)

尝试将驱动程序名称从Microsoft Excel Driver(*.xls)更改为Driver do 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文件,请使用以下连接字符串:

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