首页 > 玩机美化 > 【小白教程】使用Java读取Excel文件内容的方法

【小白教程】使用Java读取Excel文件内容的方法

楼主:Chily [1级] · 2019-11-22 ·  浏览382 · 玩机美化 · ID:
可以用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();
- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者Chily流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/18089.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
0条回复 |  最后回复于2019-11-23
登录注册 后才可进行评论
签到
8人签到
已签0天
  • 46516帖子
  • 1935508热点量
  • 184437火热值