oledb读excel的问题
北冥工作室吧
全部回复
仅看楼主
level 6
发现了一个oledb读excel的问题如果excel中存在xxx xxx xxx1 11 1112 国 222国字将不会显示
2008年02月19日 10点02分 1
level 6
您好这是由于excel的driver在从excel中读取数据的时候,会猜测每一列的类型,如果您在一列中即包含了数字又包含了字符,就会出现您遇到的这个问题。因为driver将类型设置为了数字,而当读取到字符的时候,就会报错,但是由于driver本身捕捉了这个报错,所以在导入的时候您没有遇到任何exception,但是这个值没有被导入到您的.net程序中。要解决这个问题,您设置您本地的注册表在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\
\Engines\Excel下有两个键值,一个是ImportMixedType, 一个是TypeGuessRows您要将ImportMixedType设置为 "Text",然后将TypeGuessRows 设置为一个比较大的值。这个数字表示Driver会从多少行的数据中判断当前类的类型。然后修改您的连接语句中关键字加入 "Excel 8.0;HDR=YES;IMEX=1"然后再从新读取您的excel文件,因该就能够正常读取了。http://www.sqldts.com/254.aspx[PROBLEM: Why does Excel Insert NULLs into my table when I know there is good data in there?]谢谢WenYuan - 王文渊在线技术支持工程师微软全球技术支持中心---------------------------------------------------------------------------------------我们的服务时间:周一至周五9:00-18:00(节假日除外)。我们将在两个工作日(48小时)内提供初始回应,并和您一起研究并解决问题。更多微软新闻组技术支持信息,请访问:http://support.microsoft.com/gp/newsgroupsupport/zh-cn.回帖时,请在您的新闻组阅读器中使用“回复组(Reply to Group)”,这将帮助其他用户从您的提问中获益---------------------------------------------------------------------------------------本贴子以”现状”提供且没有任何担保,同时也没有授予任何权利。
2008年02月20日 07点02分 2
1