java使用JdbcOdbcDriver读取excel数据,,假定excel中有下面结
分享于 点击 7939 次 点评:114
java使用JdbcOdbcDriver读取excel数据,,假定excel中有下面结
假定excel中有下面结构的数据:
LASTNAME FIRSTNAME IDReiser Beth 102Ricci Dylan 111Gugliuzza Brian 116
要用java读取excel数据,需要使用JDBC-ODBC。 微软提供了读取excel的ODBC驱动。我们需要在windows的数据源里面建立一个名字为"employee_xls" 指向这个excel的工作表。
如下例:
import java.io.*;import java.net.*;import java.sql.*;import java.util.*;public class EmployeeReader{ public static final String DRIVER_NAME = "sun.jdbc.odbc.JdbcOdbcDriver"; public static final String DATABASE_URL = "jdbc:odbc:employee_xls"; public static void main(String[] args) throws ClassNotFoundException, SQLException{ Class.forName(DRIVER_NAME); Connection con = null; try { con = DriverManager.getConnection(DATABASE_URL); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery ("select lastname, firstname, id from [Sheet1$]"); while (rs.next()) { String lname = rs.getString(1); String fname = rs.getString(2); int id = rs.getInt(3); System.out.println(fname + " " + lname + " id : " + id); } rs.close(); stmt.close(); } finally { if (con != null) con.close(); } }}
例二:
import java.io.*;import java.sql.*;public class EmployeeReader{ public static void main(String[] args){ Connection connection = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:employee_xls" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "Select * from [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); System.out.println ( "No of cols "+numberOfColumns ); while (rs.next()) { for (int i = 1; i <= numberOfColumns; i++) { if (i > 1) System.out.print(", "); String columnValue = rs.getString(i); System.out.print(columnValue); } System.out.println(""); } rs.close(); st.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } finally { con.close(); } } }
用户点评