选择显示字体大小

使用java读取excel文件内容

问题:我能用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(&quot;, &quot;);
                    string columnvalue = rs.getstring(i);
                    system.out.print(columnvalue);
                }
                system.out.println(&quot;&quot;);
            }

            st.close();
            con.close();


        } catch(exception ex) {
            system.err.print(&quot;exception: &quot;);
            system.err.println(ex.getmessage());
        }
    }

}




bill-转自:csdn


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons