/// <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. WCF Concurrency (Single, Multiple, and Reentrant) and Throttling

    http://www.codeproject.com/Articles/89858/WCF-Concurrency-Single-Multiple-and-Reentrant-and Introduc ...

  2. UVA_1025_A_Spy_in_the_Metro_(动态规划)

    描述 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&a ...

  3. Makefile第四讲:include 引用其它makefile文件

    main.cpp #include "classes/fun.h" int main() { Test::display("Hello makefile"); ...

  4. ZOJ --- 3516 Tree of Three

    Tree of Three Time Limit: 2 Seconds      Memory Limit: 65536 KB Now we have a tree and some queries ...

  5. Unity给力插件之ShaderForge(二)

    直接上实例: 一.自定义光照: 效果图(白色点光源照射时) 图片及参数 节点编辑 备注: 1.append为追加:两个一维数值合并为一个二维数值,一个二维数值与一个一维数值合并为一个三维数值,以此类推 ...

  6. 开始学习C# string and regex,学习正则表达式

    最近看的太少喽,再多看点吧,这周要看完这本书的 第一章 系统处理文本的方式 c#的CLR(Common Language Runtime 公共语言运行时),主要为程序提供虚拟运行环境,和内存管理和垃圾 ...

  7. AsyncSocket的使用

    AsyncSocket使用流程 安装AsyncSocket 拷贝AsyncSocket类到项目 使用AsyncSocket set delegate @interface NetWork : NSOb ...

  8. 支持Python 2.7的pylot

    想用pylot测试一下板子上面的嵌入式web server.结果报错. E:\pylot_1.26>run.py -a 2 Traceback (most recent call last): ...

  9. Java Stream 使用详解

    Stream是 Java 8新增加的类,用来补充集合类. Stream代表数据流,流中的数据元素的数量可能是有限的,也可能是无限的. Stream和其它集合类的区别在于:其它集合类主要关注与有限数量的 ...

  10. Oracle 的 VKTM 进程 - virtual keeper of time

    在Oracle Database 11g中,VKTM是一个新增的后台进程.这个进程的含义是: VKTM (virtual keeper of time) is responsible for prov ...