色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

使用Java讀取Excel文件內容的方法

瀏覽:135日期:2022-07-21 16:12:54

問題:我能用Java讀取一個Excel文件嗎?如果能,怎么做?回答:是的,可以用Java讀取Microsoft Excel文件。微軟提供了一個Excel的ODBC驅動程序,因此我們就可以使用JDBC和Sun的JDBC-ODBC驅動來讀取Excel文件了。 如果你有個Excel文件,名為Book1.xls(譯者注:由于原文的例子我沒有下載下來,所以我用了自己的例子),并且,該文件中有一個工作表(sheet)名為Sheet1,微軟的ODBC驅動程序把工作表中的第一行作為列名(譯者注:即字段名),工作表名作為數據庫表名。 要通過JDBC訪問工作表,我們還必須創建一個新的ODBC數據源,在Windows 2000系統上創建數據源的過程如下:

進入“控制面板 “管理工具 “數據源(ODBC),(譯者注:打開后選擇系統DSN),點擊添加,在彈出窗口中選擇“Driver do Microsoft Excel(*.xls)

然后在數據源名處輸入你一個名字Book1(譯者注:相當于數據庫名),然后點擊“選擇工作簿,然后找到并選取你的Excel文件

點擊確定后,系統數據源列表中會出現你設置的數據源名稱,現在數據表已經在數據源列表里了(譯者注:點擊確定完成配置)。

(譯者注:我的例子中)現在如果我們想挑出test1列中的所有“測試值,那就需要用以下的SQL查詢:

SELECT test1 FROM [Sheet1$] WHERE test1='測試'

要注意的是工作表名后面跟了一個“$符號,這個符號是不可缺少的。為什么?因為他的前后有方括號,因為“$是SQL語句中的保留字。Life is never easy(譯者注:作者發感慨了)。

下面是例子程序:;

import java.sql.Connection; import java.sql.Statement; import java.sql.ResultSet; import java.sql.DriverManager; public class ExcelReader { public static void main( String[] args ) { Connection c = null; Statement stmnt = null; try { Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); c = DriverManager.getConnection( "jdbc:odbc:Book1", "", "" ); stmnt = c.createStatement(); String query = "SELECT test1 FROM [Sheet1$] WHERE test1='測試'"; ResultSet rs = stmnt.executeQuery( query ); System.out.println( "查得匹配'測試'的test1的記錄為:" ); while( rs.next() ) { System.out.println( rs.getString( "test1" ) ); } } catch( Exception e ) { System.err.println( e ); } finally { try { stmnt.close(); c.close(); } catch( Exception e ) { System.err.println( e ); } } } }

在此程序中,主函數main() 建立了一個數據表的連接,并取出符合條件的記錄。 (譯者注:另外,我這里還有一段程序,是讀取所有記錄的程序,僅作參考): ;

import java.sql.Connection;import java.sql.Statement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.DriverManager; public class ExcelReader { public static void main(String[] args){ Connection connection = null; try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection( "jdbc:odbc:Book1","","" ); Statement st = con.createStatement(); ResultSet rs = st.executeQuery( "SELECT * FROM [Sheet1$]" ); ResultSetMetaData rsmd = rs.getMetaData(); int numberOfColumns = rsmd.getColumnCount(); 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(""); } st.close(); con.close(); } catch(Exception ex) { System.err.print("Exception: "); System.err.println(ex.getMessage()); } }}
標簽: excel
相關文章:
主站蜘蛛池模板: 国产99视频精品免费观看9e | 欧美成人艳星在线播放 | 一区二区三区四区国产精品 | 亚洲第一成年网站大全亚洲 | 性欧美高清久久久久久久 | 中文字幕一区二区三区精品 | 国产大陆亚洲精品国产 | 成年男女免费视频网站播放 | 114毛片免费观看网站 | 国产欧美日本 | 欧美一级永久免费毛片在线 | 欧美精品18videos性欧美 | 黄网在线免费 | 九九99久久精品国产 | 欧美高清强视频 | 女人张开腿给男人捅 | 激情6月丁香婷婷色综合 | 欧美在线播放视频 | 91年精品国产福利线观看久久 | 手机看片国产日韩 | 亚洲网站在线播放 | 国内精品久久国产大陆 | 欧美 亚洲 另类 自拍 在线 | 成人国产精品免费软件 | 一区不卡在线观看 | 性国产精品 | 成年人黄页 | 久久精品中文字幕免费 | 特别福利视频在线观看 | 午夜三级在线 | 91精品日本久久久久久牛牛 | 亚洲日本va午夜中文字幕 | 韩国一级毛片 | 精品欧美成人高清视频在线观看 | 国产欧美精品综合一区 | 国产成人高清一区二区私人 | 国产精品久久久久一区二区 | 久久久亚洲天堂 | 国产男女乱淫真视频全程播放 | 精品国产免费第一区二区 | 成 人 黄 色 免费网 |