我想使用jdbc或其他方法连接到Excel工作表,但我不想使用管理工具指定相同的DSN。他们是否会使用代码来完成它?如果是的话怎么样?
提前致谢
答案 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)的路径。反斜杠和正斜杠都运行良好。
答案 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");