您的位置:首页 > 其它

导入Excel表里的数据时产生【定义了过多字段】,但有时又是成功的

2012-03-31 15:35 295 查看
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。一般就可

以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐