亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

使用Java讀取Excel文件內(nèi)容的方法

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

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

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

然后在數(shù)據(jù)源名處輸入你一個(gè)名字Book1(譯者注:相當(dāng)于數(shù)據(jù)庫名),然后點(diǎn)擊“選擇工作簿,然后找到并選取你的Excel文件

點(diǎn)擊確定后,系統(tǒng)數(shù)據(jù)源列表中會出現(xiàn)你設(shè)置的數(shù)據(jù)源名稱,現(xiàn)在數(shù)據(jù)表已經(jīng)在數(shù)據(jù)源列表里了(譯者注:點(diǎn)擊確定完成配置)。

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

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

要注意的是工作表名后面跟了一個(gè)“$符號,這個(gè)符號是不可缺少的。為什么?因?yàn)樗那昂笥蟹嚼ㄌ枺驗(yàn)?ldquo;$是SQL語句中的保留字。Life is never easy(譯者注:作者發(fā)感慨了)。

下面是例子程序:;

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 ); } } } }

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

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()); } }}
標(biāo)簽: excel
相關(guān)文章:
主站蜘蛛池模板: 福利视频精品 | 性做久久久久久网站 | 韩国xxxx色视频免费 | 午夜国产精品免费观看 | 日韩一级欧美一级在线观看 | 美国毛片网 | 日日噜噜夜夜狠狠久久丁香七 | 国产精品国产三级国产普通话对白 | 色噜噜狠狠一区二区三区 | 亚洲一级片免费 | 97午夜| 日本三级黄色 | 亚洲欧美久久婷婷爱综合一区天堂 | 在线成人天天鲁夜啪视频 | 黄色美女毛片 | 网友自拍区一区二区三区 | 99久久精品国产综合一区 | 国产高清视频免费在线观看 | 国产精品人人爱一区二区白浆 | 青青久操视频 | 人妖另类xx00视频 | 免费簧网站永久在线播放国产 | 国产免费福利体检区久久 | 九九香蕉| 国产黄色免费 | 欧美毛片精品一区 | 做爰全过程免费的视69频 | 午夜一级毛片免费视频 | 亚洲精品久久九九精品 | 无内丝袜透明在线播放 | 国产精品久久久久一区二区三区 | 欧美亚洲中日韩中文字幕在线 | 国产成人精品自拍 | 美国一级特黄 | 国产真实强j视频在线观看 国产真实露脸4p视频 | 亚洲欧美日韩一区超高清 | 在线播放国产麻豆 | 欧洲1区二区三区二页 | 国产一区二区三区在线 | 大伊香蕉精品二区视频在线 | aaa成人|