java通过桥访问excel_通过jdbc-odbc桥来访问excel文件

公羊渝
2023-12-01

通过jdbc-odbc桥来访问excel文件                                      pcera

说是对文件的操作有点牵强附会,毕竟这是对单一类型的文件具体操作 。

这是一段通过jdbc-odbc桥来对excel的访问的程序,此方法的原创真是可谓随心所欲呀!!这里的随心所欲可是绝对的褒义!我认为这个方法要比通过Java Excel API(jxl.*)访问excel文件要方便。但是通过桥向excel的写入我还没有调试出来,网上有人说可以的,但是也没有给出具体方法,我也是半信半疑,所以索性就不搞了,到真正用到对excel的操作时还得用Java Excel API(jxl.*),姜还是老的辣呀!!呵呵。。。。好了,说正题吧,首先对你的excel文件建立一个odbc数据源,哦,对了,注意:微软的ODBC驱动程序把工作表中的第一行作为列名,工作表名作为数据库表名。 具体操作是:“控制面板” --> “管理工具” --> “数据源(ODBC)”-->“选择系统DSN”,点击添加,在弹出窗口中选择“Driver do Microsoft Excel(*.xls)”。然后在数据源名处输入你一个名字handleExcel,然后点击“选择工作簿”,然后找到并选取你的Excel文件点击确定后,系统数据源列表中会出现你设置的数据源名称,现在数据表已经在数据源列表里了。需要注意的是工作表名后面跟了一个“$”符号,这个符号是不可缺少的

import java.sql.*;

/**

* 通过jdbc-odbc桥来访问excel文件(至于数据的写入还没调试出来,

* 但是看到有人说是可以通过jdbc-odbc桥来向excel文件写入)

* @see

* @version Version  2005-7-27

* @author Administrator

* @since JDK1.4.2

*/

public class handleExcel {

/**

* 创建连接

* @param

*/

Connection con = null;

Statement stmnt = null;

public handleExcel() {

//TODO Auto-generated catch block

try{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

con = DriverManager.getConnection( "jdbc:odbc:handleExcel","","" );

stmnt = con.createStatement();

}catch(Exception e){

System.out.println("con is error!!");

e.printStackTrace();

}

}

/**

* 读取excel文件内容

* @param

*/

public void getResult(){

try {

ResultSet rs = stmnt.executeQuery("SELECT * FROM [Sheet1$]");

//获得列的总数

ResultSetMetaData RSMD = rs.getMetaData();

int rowCount = RSMD.getColumnCount();

//获得和打印记录

System.out.println( "查得的记录为:");

while( rs.next() ) {

for (int i = 1;i <= rowCount;i++){

System.out.print(rs.getString(i)+", ");

}

System.out.println(" ");

}

}

catch( SQLException e ) {

System.out.println("get is error!!");

e.printStackTrace();

}

}

/**

* 向excel文件写入内容

* @param

*/ /*

public void setPar(){

try{

int result =

stmnt.executeUpdate("insert into [sheet1$] values ('marry',21,'English','women','teacher')");

System.out.println("result is : "+result);

}catch(SQLException e ){

System.out.println("Set is error!!");

e.printStackTrace();

}

}*/

/**

* 测试函数

* @param

*/

public static void main(String[] args) {

handleExcel TestHpc = new handleExcel();

//TestHpc.setPar();

TestHpc.getResult();

}

}

 类似资料: