当前位置:  技术问答>java相关

java读excel出错

    来源: 互联网  发布时间:2017-04-22

    本文导语:  程序 ---------- import java.io.*; import java.sql.*; public class ReadExcel{     public static void main(String[] args){      Connection conn=null;      Statement stmt=null;      ResultSet rs=null;      try{          Class.f...

程序
----------
import java.io.*;
import java.sql.*;
public class ReadExcel{
    public static void main(String[] args){
     Connection conn=null;
     Statement stmt=null;
     ResultSet rs=null;
     try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
         conn=DriverManager.getConnection("jdbc:odbc:myexcel");
         stmt=conn.createStatement();
         rs=stmt.executeQuery("Select * From [Sheet1$]");
         
         ResultSetMetaData rsmd=rs.getMetaData();
         int numberOfColumns=rsmd.getColumnCount();
         while(rs.next()){
             for(int i=0;i1)System.out.println(",");
                 //System.out.println(rs.getString(i));
                 System.out.println(rsmd.getColumnName(i));
             }
         }
         rs.close();
         stmt.close();
         conn.close();
     }catch(Exception e){
         System.out.println(e);
     }
    }

}
---出错-----
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid descriptor index

|
這個用例是完成.我在我的機器上用了通過,
jb7+jdk1.3.1 
========================================================begin==
import java.sql.*;
import java.io.*;
import java.util.*;
import java.text.*;
public class Excel {
    public Excel()
    {
        setDefaults();
    }

    private static void m(String pMessage)
    {
        System.out.println(pMessage);
    }

    private void setDefaults()
    {
        setDriver("sun.jdbc.odbc.JdbcOdbcDriver");
        setUrl("jdbc:odbc");
// ODBC data source named "TestExcel" defined from Control Panel
        setDataSource("ExcelODBC");
        setTableName("ExcelSheetName");
    }

    public void openDatabase()
    {

        String lConnectStr = getUrl()+":"+getDataSource();

        try {
            Class.forName(getDriver());
            gConnection = DriverManager.getConnection(lConnectStr);
        }
        catch (Exception e) {
            m("openDatabase(): "+e.getMessage());
        }
    }

    private void closeDatabase()
    {
        try {
            getConnection().close();
        }
        catch (Exception e) {
            m("closeDatabase(): "+e.getMessage());
        }
    }

    private void createTable()
    {
        m("createTable() begin");

        Statement lStat = null;

        try {
            lStat = getConnection().createStatement();

            lStat.execute("CREATE TABLE "+getTableName()+" ("
                          +" ID INTEGER"
                          +" ,NAME VARCHAR"
                          +")");
        }
        catch (Exception e) {
            m("createTable(): "+e.getMessage());
        }

        m("createTable() end");
    }

    private void doInsert()
    {
        m("doInsert() begin");

        Statement lStat = null;

        try {
            lStat = getConnection().createStatement();

            lStat.executeUpdate("INSERT INTO "+getTableName()+ "(ID,NAME) VALUES(10,'KANGAROO')");
            lStat.executeUpdate("INSERT INTO "+getTableName()+"(ID,NAME) VALUES (20,'KOALA')");
            lStat.executeUpdate("INSERT INTO "+getTableName()+"(ID,NAME) VALUES (30,'PAULHOGAN')");

            lStat.close();
        }
        catch (Exception e) {
            m("doInsert(): "+e.getMessage());
        }

        m("doInsert() end");
    }

    private void doQuery()
    {
        m("doQuery() begin");

        try {
            Statement lStat = getConnection().createStatement();
            ResultSet lRes = lStat.executeQuery( "SELECT * FROM "+getTableName());
            ResultSetMetaData lMeta = lRes.getMetaData();

// print out the column headers separated by commas
            for (int i = 1; i  1)
                    System.out.print(", ");

                String lValue = lMeta.getColumnName(i);
                System.out.print(lValue);
            }
            System.out.println("");

// print out the data separated by commas
            while (lRes.next())
            {
                for (int i=1; i 1)
                        System.out.print(", ");

                    String lValue = lRes.getString(i);
                    System.out.print(lValue);
                }
                System.out.println("");
            }

            lRes.close();
            lStat.close();
        }
        catch (Exception e) {
            m("doQuery(): "+e.getMessage());
        }

        m("doQuery() end");
    }

    private void run()
    {
        openDatabase();

        createTable();
        doInsert();
        doQuery();

        closeDatabase();
    }

    public static void main(String args[])
    {
        m("main() begin");

        Excel lExcel = new Excel();

        lExcel.run();

        m("main() end");

        System.exit(0);
    }

    public void setTableName (String pValue)
    {
        gTableName = pValue;
    }

    public String getTableName()
    {
        return(gTableName);
    }

    public void setSql(String pValue)
    {
        gSql = pValue;
    }

    public String getSql()
    {
        return(gSql);
    }

    public Connection getConnection()
    {
        return(gConnection);
    }

    public String getDataSource()
    {
        return(gDataSource);
    }

    public void setDataSource(String pValue)
    {
        gDataSource = pValue;
    }

    public void setDriver(String pValue)
    {
        gDriver = pValue;
    }

    public void setUrl(/tech-qa-java/String pValue/index.html)
    {
        gUrl = pValue;
    }

    public String getDriver ()
    {
        return (gDriver);
    }

    public String getUrl ()
    {
        return (gUrl);
    }

    private Connection
    gConnection = null;

    private String    gDataSource = null    ,
                      gTableName = null    ,
                      gSql = null    ,
                      gDriver = null    ,
                      gUrl = null    ;

}
=====================================================end===
請大家試用.

|
把for(int i=0;i

    
 
 

您可能感兴趣的文章:

  • 用 java 命令运行 .class 出错,怎么办
  • web程序出错后,错误提示后面跟着的数字(25)是什么意思?(ConnectionPool.java:25)
  • WinXP 下为什么运行和安装JAVA程序总出错!
  • 这句话怎么会出错?import com.sun.java.swing.*;
  • shell 调用java程序出错
  • java访问sqlserver出错:高手快来帮忙啊!!!
  • centos配置JAVA运行环境在配置JK时出错
  • java helloworld出错
  • 有关java出错的问题,在线等候
  • 运行JAVA的出错信息,麻烦各位帮我看看
  • 新手问题:我用java运行程序出错
  • window下java程序 放到linux出错
  • 各位高手,小弟在安装Java 2 SDK Standard Edition v1.3时出错了。是怎么回事?
  • JDBC连接出错:JdbcCheckup.java:19: Class
  • 问:程序运行时碰到java.lang.NoClassDefFoundError的出错原因
  • JNIEXPORT void JNICALL Java_jnitest_HelloWorld_DisplayHelloWorld(); 为何声明出错
  • 我是JAVA的一位初学者请各位师兄师姐帮忙看看下面的代码为什么会提示出错?
  • 我是菜鸟,请帮助我。编译JAVA程序时,“e.hasMore Elements()”出错,不明白!
  • java test.class为什么出错????
  • 我在编译java文件时,加入了import javax.serlvet.http.*;提示出错,我用jdk131和jdk140都是这样
  • java操作excel2007文档介绍及代码例子
  • Java能调用OLE对象吗?怎样利用Java生成Excel报表?
  • 请问 Java 里面有生成 Excel 文件的类吗?
  • Java 的 Excel 组件 Aspose.Cells
  • 如何用Java动态生成Excel文件
  • Java的Excel操作包 OpenXLS
  • 怎样从java中导出一个excel文件??
  • 求救,java中读写excel的问题
  • java中操作excel文档的中文问题?
  • Java 操作 Excel 的类库 jExcelApi
  • 高份求教java在AIX下如何解析/生成excel
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍
  • 我对JAVA一窍不通,可惜别人却给我一个Java的project,要我做一个安装程序,请问哪里有JAVA INSTALLER下载,而且我要不要安装java的sdk才能完成此项任务?
  • java命名空间java.security类keystore的类成员方法: getdefaulttype定义及介绍
  • 新年第一天,让我们讨论一下未来一年JAVA的发展趋势! 个人认为,JAVA将主要朝ERP和JAVA手机方面发展!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getclasspath定义及介绍
  • 我想学Java,但不知道Java的实用的开发工具有那些,Java主要用在哪些方面,EJB到底是什么东西??
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javaserializedobjectmimetype定义及介绍
  • redhat7.3下,java程序打印中文直接用java命令执行正常,用crontab执行java命令为乱码
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: javafilelistflavor定义及介绍
  • 各位学java的朋友,学java的未来是什么,你们学java都用来开发什么项目啊!来者给分!!
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getvmname定义及介绍
  • 请问java程序中的import为什么有的用java.….*,而有的又用java.….…,有什么区别吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3