Excel VBAtypes转换错误
我正在使用SQL查询将Excel文件(数百或数千个文件)中的数据收集到一个生成的Excel表中。
问题是:
不知何故,Excel文件中的所有数字都以date格式(ADO Fields(i).Type = 7)存储,并在将它们转换回数字格式前。 myVar = cDbl(recordset.Fields(8).Value)
我得到的结果比原点大1。
这个错误发生的数量小于60(早于01.03.1900分别)。
应该是常见的问题,但我找不到任何直接的想法如何解决它。
只是好奇这个问题,发现问题。 在莲花1-2-3中有一个错误,因为假设1900是一个闰年,Excel故意复制错误https://support.microsoft.com/en-us/kb/214326 。
在Excel中,我将单元格格式更改为date时间:
-
59日为1900年2月28日
-
60年1900年2月29日
但是,在ADO字段的值中,两者均显示为1900年2月28日,当转换为double时,两个值均为60。
我能想到解决这个问题的唯一方法是打开数据工作表,将单元格格式改为一般。
编辑:testing数据