用C#将一个EXCEL导入到DATASET中,但是读出来的时候发现有些数据没有导入,不同的EXCEL情况也不一样

用C#将一个EXCEL导入到DATASET中,但是读出来的时候发现有些数据没有导入,不同的EXCEL情况也不一样,有的EXCEL是纯数字没有导入进去,有的是纯字符没有导入进去,该怎么办

第1个回答  2012-07-04
1.如果你的项目Framework3.0一下,推荐使用Office COM组件;

2.如果你的项目Framework3.0以上,推荐使用OpenXml;

3.使用OleDB或第三方DLL也不失为有效的办法,但是都不太好控制,容易出现你上述的那种错误,前二种方法源自微软,所以处理excel数据文件比较靠谱;

根据以往的经验,Excel文件最好由开发人员提供,控制好Excel版本和内部模板,这样可以尽量减少不必要的麻烦。追问

我已经找到原因并解决了,给你也说一下吧

Excel驱动程序读取指定源中一定数量的行(默认情况下为 8 行)以推测每列的数据类型。如果推测出列可能包含混合数据类型(尤其是混合了文本数据的数值数据时),驱动程序将决定采用占多数的数据类型,并对包含其他类型数据的单元返回空值。(如果各种数据类型的数量相当,则采用数值类型。)

本回答被提问者采纳
第2个回答  2012-06-26
现在网上有个插件 NPOI 这个导出 excel 功能很强大的可以满足你的需要。
第3个回答  2012-06-22
最好为你将要导入的每一列做一个数据类型的转换。追问

怎么转换可以用代码实现吗,因为EXCEL是不可以修改的

相似回答