zoukankan      html  css  js  c++  java
  • 导入Excel表里的数据时产生【定义了过多字段】,但有时又是成功的

    filePath = @"d:\users.xls"; 
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"; 
                        //选择Excel文件中的一个sheet,比如叫“EmployeeInfo”: 
                        string strSheetName = "sheet1"; 
                        string strExcel = "select * from  [" + strSheetName + "$] "; 
                        //打开连接,读取Excel文件中数据到Dataset中,然后关闭连接: 
                        OleDbConnection conn = new OleDbConnection(strConn); 
                        conn.Open(); 
                        OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); 
                        DataSet ds = new DataSet(); 
                        adapter.Fill(ds, "data"); 
                        conn.Close(); 
    
    以上代码有时能执行成功,有时又会报: 
    【 
    定义了过多字段。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
    
    异常详细信息: System.Data.OleDb.OleDbException: 定义了过多字段。 
    
    源错误: 
    
    
    行 180:                    OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, conn); 
    行 181:                    DataSet ds = new DataSet(); 
    行 182:                    adapter.Fill(ds, "data"); 
    行 183:                    conn.Close(); 
    行 184:                    SqlCommand command = null; 
    】 


    分析:一般来说是sheet表有问题,我刚遇到过这种问题,但不知道具体原因   


       表从某列到某列可能有问题,一般是最后的几列,你没用的列全选,然后删除,注意一般界面上没有什

       么变化,但我们已经删除没用的多出来的列删除了。保存Excel。一般就可

       以了。

  • 相关阅读:
    debian 9 安装AMD驱动
    DDL、DML、DCL、DQL的理解
    呼叫中心坐席功能都有哪些?
    使用vi编辑器的问题
    百度聊天机器人UNIT http访问
    通过http方式 post天气,并合成语音
    单链表的基本操作
    pip下载慢解决(添加国内镜像)
    Anaconda+Tensorflow配置说明
    gdb的基本使用
  • 原文地址:https://www.cnblogs.com/soundcode/p/2427130.html
Copyright © 2011-2022 走看看