以下的小段程序是将excel的一张sheet225弹簧读到MyDts的"biao"中,可是运行的时候在color=#FF0000]  MyAdp.Fill(MyDts, "biao")[/color]处提示错误:定义了过多字段。我的sheet225弹簧里面就只有四列值啊,总共有209行数据,我只能录入前193行数据,当把194行数据加上去的时候就提示上面的错误了啊,请高手指点,谢谢了啊Dim MyCnn As New OleDb.OleDbConnection
        Dim MyCmm As New OleDb.OleDbCommand
        Dim MyAdp As New OleDb.OleDbDataAdapter
        Dim MyDts As New Data.DataSet        MyCnn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;data source=原辅料新物料编码(修正稿).xls;Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'"
        MyCnn.Open()
        MyCmm.Connection = MyCnn
        MyCmm.CommandText = "select * from [225弹簧$]"
        MyAdp.SelectCommand = MyCmm
        MyDts.Clear()
        MyAdp.Fill(MyDts, "biao")

解决方案 »

  1.   

    excel的一张sheet 表格的列,不能过多 
      

  2.   


    我这样用的没什么问题string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
    OleDbConnection conn = new OleDbConnection(strConn);
    conn.Open();
    OleDbDataAdapter oleDbDataAdapter = null;
    DataSet ds = new DataSet();
    string strExcel = "select * from [sheet1$]";
    oleDbDataAdapter = new OleDbDataAdapter(strExcel, conn);
    oleDbDataAdapter.Fill(ds, "Data");
    conn.Close();