5

我想使用 jdbc 或其他方法连接到 Excel 工作表,但我不想使用管理工具指定 DSN。他们是否有办法使用代码来做到这一点?如果是怎么办?

提前致谢

4

3 回答 3

7

也可以在不使用 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) 的路径。反斜杠和正斜杠都可以很好地工作。

来源:可用来源

于 2013-08-12T07:08:32.203 回答
1

你要逃避的是一个没有 DSN 的连接字符串。有关详细信息,请参阅http://support.microsoft.com/kb/165866 。然而,我会选择 Jayan 14 提到的 Apache POI。

于 2013-08-12T07:11:45.087 回答
0

尝试将驱动程序名称从更改Microsoft Excel Driver(*.xls)为 Driver doMicrosoft 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");

于 2015-10-15T05:13:54.387 回答