从Excel中读取数据时获取的数据为空的原因及解决方案
来源:互联网 发布:醉酒网络 编辑:程序博客网 时间:2024/05/17 06:10
明明我的Excel中有值,可是用OLEDB连接读取它时却返回空值,真是莫名其妙!如果你也遇到过这样的困惑,请往下读,如果暂时还没遇到就以后再读吧,哈哈。 如果5行文本类型,3行数字类型 则返回结果为5行文本类型的数据,3行空值 当然8行以后的值按照前面探测的结果,如果跟结果一样的类型返回原来的值,如果相反则返回空值。 0 is Export mode 1 is Import mode 2 is Linked mode (full update capabilities) 微软提醒说,谨慎使用IMEX=1,因为这是导入模式,在这种模式下做数据的添加或者更新结果不可预料,所以在对Excel做Insert 或者Update动作时,不要给这个属性赋值。 那么为什么在IMPort Mode的情况下就是用文本方式读取的那? why? ISAM还是比较勤快的,即使你跟他交待了在导入模式下使用文本类型,它还是比较关注前八行的情况,如果前八行都为数字,他还是要按数字来处理,这家伙还是比较执著,很想主持公道的。 还是得靠注册表,还是上面的那个路径下有个键TypeGuessRows,其默认键值为8,这就是前八行的来源,你可以把它设为1-16行,当然也可以把它设为0,它不是很勤快吗?那就让它看看所有的行吧!累死个傻小子。如果所有行都是数字,那就是数字了,有一个不是数字那就按文本处理。
在用OLE DB,ISAM会尝试读取前8行的数据类型,如果一列中的前8行既有文本类型又有数字类型,那么就取多数的数据类型,其余的返回为空。如果两者一样的数目一样多,那么就取数字类型,文本类型的行返回空值。
即:某一列前8行中
如果5行数字类型,3行文本类型 则返回结果为5行数字类型的数据,3行空值
如果4行文本类型,4行数字类型 则返回结果为4行数字类型的数据,4行空值
如果想在混合类型中返回真实的值,那么就要在连接字符串的扩展属性中加上IMEX=1;这个属性的对应值如下:
请看注册表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Jet/4.0/Engines/Excel 下面有个键ImportMixedTypes,它的值是Text,也就是说在导入模式下,混合数据类型统一处理为文本。
这样看似一切OK了,不过当你的数据前八行都是数字,后面的N(N>>8)为文本类型时,即使你把IMEX设为1,后面的文本还是不会显示的。
那咋办?
以上的理论在我的机子上测试通过,环境是Office2003,Win2000 Sp4
- 从Excel中读取数据时获取的数据为空的原因及解决方案
- 从Excel中读取数据时获取的数据为空的原因及解决方案
- 从Excel中读取数据时获取的数据为空的原因及解决方案
- 如何从Excel中读取不为空的数据
- C#从Excel中读取数据为空了
- cookieless为true时,Request.Form无法获取htm表单数据的原因及解决方案
- 读取Excel时数据为空
- 查询EXCEL数据时,列数据为空的问题
- C#读取Excel表中同一列数据类型不同时,读取到的部分数据为空
- SQL Server中从Excel中读取数据的方法
- springMVC从上传的Excel文件中读取数据
- springMVC从上传的Excel文件中读取数据
- springMVC从上传的Excel文件中读取数据
- springMVC从上传的Excel文件中读取数据
- springMVC从上传的Excel文件中读取数据
- 从excel中读取数据
- 运用C#读取导入的Excel部分数据为空的解决方法
- C#从Excel文件中读取数据转换为DataSet
- com.microsoft.sqlserver.jdbc.SQLServerException: 此查询使用的不是 ANSI 外部联接运算符("*=" 或 "=*")。若要不进行修改即运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的
- MySQL Commands
- web.config的标记
- WinCE内核裁减(中文字体)及字库和内核的分离
- 11111111111111111111
- 从Excel中读取数据时获取的数据为空的原因及解决方案
- Android中的AppWidget(上)
- QQ原理
- 一个MM写的。太牛逼了。
- svn出错:Error: File or directory '.' is out of date; try updating
- 二师兄发表的,我转载 global.asax
- ArcGIS中的style和serverstyle
- 睿智男人的24条生存法则
- Delphi 资源