读取Excel异常定义了过多字段的解决方法
2013-11-07 09:30
459 查看
/// <summary> /// 从Excel文件导入数据 /// </summary> /// <param name="ExcelStr">文件的全路径</param> /// <param name="SheetName">Excel文档里的表名称</param> public static DataSet Class_ExcelSql(string ExcelStr, string SheetName) { OleDbConnection MyConn_E = new OleDbConnection(); OleDbCommand MyComm_E = new OleDbCommand(); OleDbDataAdapter MyAdap = new OleDbDataAdapter(); DataSet MyTable = new DataSet(); if (!File.Exists(ExcelStr)) { DevExpress.XtraEditors.XtraMessageBox.Show("所选文件不存在!", "提示"); return null; } string Conn_Str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExcelStr + ";Extended Properties='Excel 8.0;HDR=Yes;'"; try { MyConn_E.ConnectionString = Conn_Str; MyConn_E.Open(); MyComm_E.Connection = MyConn_E; MyComm_E.CommandText = "select * from [" + SheetName + "$]"; MyAdap.SelectCommand = MyComm_E; MyAdap.Fill(MyTable); } catch (OleDbException Err_My) { DevExpress.XtraEditors.XtraMessageBox.Show(Err_My.Message, "提示"); } if (MyConn_E.State == ConnectionState.Open) { MyConn_E.Close(); MyConn_E.Dispose(); } MyComm_E.Dispose(); MyAdap.Dispose(); return MyTable; }
其中MyComm_E.CommandText = "select * from [" + SheetName + "$]";抛出异常“"定义了过多字段"”
此问题可以有三种解决办法
办法一:隐藏Excel多余的列开始-格式-隐藏和取消隐藏-选择隐藏列
办法二:把查询语句改为指定开始到结束列
如:"select * from [" + SheetName + "$A:IU]";其中A:IU代表查询第A列到第IU列。
办法三:查询指定列
如:"select 第一列,第二列 from [" + SheetName + "$]";。
以上三种方法都可以解决“定义了过多字段”
相关文章推荐
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法 .
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法
- C# 用数据库读取Excel出现“定义了过多字段”错误的解决方法
- 读取Excel异常"定义了过多字段"的解决方法
- C# 用数据库读取Excel出现“定义了过多字段”错误
- 关于从Image字段读取图片流并显示在PictureBox控件时报‘参数无效’异常的解决方法
- jxl读取excel文件异常:Unable to recognize OLE stream 的解决方法
- excel字段过多,导入数据库 存在截断问题的解决方法
- 【读取Excel】定义了过多字段
- 用c#读取excel文件缺少第一行数据解决方法
- 关于MFC读取excel文件后退出程序后出现dispatch错误的解决方法
- 用Ant手动打包android程序,android分包机制解决65536方法过多异常
- 使用jdbc-odbc桥读取SQLServer数据库的ntext字段出现乱码的原因与解决方法
- 开发工具异常之server2008中页面报错webform_postbackoptions未定义解决方法(原创)
- springbatch 读取csv文件时 文件中有字符串需要转换为Date类型的字段报错字符串不能转化为Date类型的解决方法
- ASP.NET(C#) 读取EXCEL另加解决日期问题的方法分享
- IIS oledb jet 4.0 读取excel 时,出现未指定错误 解决方法 !
- 在写一段读excel的程序时经常出现“定义了过多字段”的错误提示
- 关于asp.net导出Excel出现“异常来自 HRESULT:0x800A03EC”错误解决方法