用C#将一个EXCEL导入到DATASET中,但是读出来的时候发现有些数据没有导入,不同的EXCEL情况也不一样
用C#将一个EXCEL导入到DATASET中,但是读出来的时候发现有些数据没有导入,不同的EXCEL情况也不一样,有的EXCEL是纯数字没有导入进去,有的是纯字符没有导入...
用C#将一个EXCEL导入到DATASET中,但是读出来的时候发现有些数据没有导入,不同的EXCEL情况也不一样,有的EXCEL是纯数字没有导入进去,有的是纯字符没有导入进去,该怎么办
展开
3个回答
展开全部
1.如果你的项目Framework3.0一下,推荐使用Office COM组件;
2.如果你的项目Framework3.0以上,推荐使用OpenXml;
3.使用OleDB或第三方DLL也不失为有效的办法,但是都不太好控制,容易出现你上述的那种错误,前二种方法源自微软,所以处理excel数据文件比较靠谱;
根据以往的经验,Excel文件最好由开发人员提供,控制好Excel版本和内部模板,这样可以尽量减少不必要的麻烦。
2.如果你的项目Framework3.0以上,推荐使用OpenXml;
3.使用OleDB或第三方DLL也不失为有效的办法,但是都不太好控制,容易出现你上述的那种错误,前二种方法源自微软,所以处理excel数据文件比较靠谱;
根据以往的经验,Excel文件最好由开发人员提供,控制好Excel版本和内部模板,这样可以尽量减少不必要的麻烦。
追问
我已经找到原因并解决了,给你也说一下吧
Excel驱动程序读取指定源中一定数量的行(默认情况下为 8 行)以推测每列的数据类型。如果推测出列可能包含混合数据类型(尤其是混合了文本数据的数值数据时),驱动程序将决定采用占多数的数据类型,并对包含其他类型数据的单元返回空值。(如果各种数据类型的数量相当,则采用数值类型。)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
现在网上有个插件 NPOI 这个导出 excel 功能很强大的可以满足你的需要。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最好为你将要导入的每一列做一个数据类型的转换。
追问
怎么转换可以用代码实现吗,因为EXCEL是不可以修改的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |