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