/// <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 + "$]";。

以上三种方法都可以解决“定义了过多字段”

读取Excel异常定义了过多字段的解决方法的更多相关文章

  1. Maven ResourceBundle.getBundle读取Properties异常MissingResourceException: Can't find bundlei解决方法

    参考:https://blog.csdn.net/thousa_ho/article/details/72817616 问题描述 ResourceBundle读取properties配置文件提示 Mi ...

  2. ArcGIS图层添加字段出现:“定义了过多字段”

    首先,我图层数据格式为mdb,也就是Access数据库 Access一个表最大支持255个字段,可是我的才添加第一个字段就出现"定义了过多字段"的错误 打开ArcMap添加字段也是 ...

  3. Excel公式的常见错误值及其解决方法

    Excel公式的常见错误值及其解决方法 经常用Excel的朋友可能都会遇到一些莫名奇妙的错误值信息:# N/A!.#VALUE!.#DIV/O!等等,出现这些错误的原因有很多种,如果公式不能计算正确结 ...

  4. OLEDB读取EXCEL表格时,某些字段为空,怎么办?

    转载:http://blog.sina.com.cn/s/blog_53864cba01011cbn.html   前些日子,写了一个Excel导入数据库的共同Batch,突然有一天发现当我修改Exc ...

  5. PHP导出excel时数字变为科学计数的解决方法

    在数据导出到excel时数字格式不对,一般分为以下两种情况. 1.excel单元格设置长度不够 解决方法: //在excel.php文件中 $objActSheet = $objPHPExcel-&g ...

  6. 浅谈Excel开发:九 Excel 开发中遇到的常见问题及解决方法

    Excel开发过程中有时候会遇到各种奇怪的问题,下面就列出一些本人在开发中遇到的一些比较典型的问题,并给出了解决方法,希望对大家有所帮助. 一 插件调试不了以及错误导致崩溃的问题 在开发机器上,有时可 ...

  7. C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析与解决方法

    对于C#中异常:“The type initializer to throw an exception(类型初始值设定项引发异常)”的简单分析,目前本人分析两种情况,如下: 情况一: 借鉴麒麟.NET ...

  8. WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值--&gt;解决方法。

    參考一: WordPress Importer上传导入备份文件时遇到这样一个错误,提示"上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值". ...

  9. maven项目无法读取src/main/java目录下的配置文件解决方法

    我们在用Mybatis去操作底层数据库的时候,需要用到xml配置文件,一般我们是把配置文件和dao放置在同一层目录.但是在用idea操作maven项目的时候,我们可能会遇到无法读取到dao对应的map ...

随机推荐

  1. bzoj2434

    利用了bzoj3172提到的性质,x串在y串中的出现的次数即为在fail树上以x结尾节点为根的子树中有多少个节点在y串上所以很明显我们要离线解决,我们先把询问按y分类存起来然后我们顺着操作顺序来,出现 ...

  2. poj2104

    裸的主席树,没什么好说的 type node=record        l,r,s:longint;      end; ..] of node;     sa,rank,a,b,sum,head: ...

  3. Linux libtins 库安装教程

    因为工作原因需要用到libtins网络库, 所以今天去装一下. 很尴尬,由于本人对linux理解比较浅, 所以在中途遇到了一些问题. 虽然只是简单的安装步骤,但是阻挡不了自己菜啊. 一.  下载lib ...

  4. 利用dhtmlxGrid做的表格排序的功能。

    dhtmlxGrid支持tree和grid. grid之间.grid内部进行拖拽, 如在grid内部进行拖拽,可以增加一行:在grid之间拖拽,第一个grid的记录删除,第二个grid增加一行记录.

  5. 如何扩展大规模Web网站的性能?

    Reduce Data广告服务网站如何扩展到每天300K QPS请求?分享经验如下: 1. 为大规模设计,广告服务平台从一开始增长就很惊人,因此,系统开始就为大规模设计,系统为水平和垂直伸缩扩展. 2 ...

  6. ios 中的半屏幕底部弹出框

    static UIView *modalView;if (modalView) { [modalView removeFromSuperview]; modalView = nil; return; ...

  7. input text 字体的影响

    字体对input的影响 <html> <head> <meta charset="UTF-8"> </head> <style ...

  8. 【python自动化第一篇:python介绍与入门】

    一.python介绍以及发展史  1.1 python的介绍: 简单点来说吧,python这玩意儿是一个叫做Guido van Rossum的程序猿在1989年的圣诞打发时间而决心去开发的一个脚本编程 ...

  9. C#封装加密算法(MD5、SHA、HMAC、DES、RSA)的一个类

    using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace Wen. ...

  10. DS18B20测温

    项目需要实现分布式大规模测温,需要52个测温点,采样DS18B20进行设计. 30cm一个点,一共8个点串联.采用国标单芯单股纯铜硬线BV0.5做导线,测试一会儿正常,一会儿不正常.后面换线了,测试正 ...