从Excel中导入数据并插入到sql表中

我正在从Excel中导入数据,并插入到一个SQL表。 我的Excel文件中的一个字段填充了一个时间值。 我想要将该时间值作为string导入到我的SQL表中。 当我这样做,我在我的SQL表中得到一个奇怪的值。 Excel的值是: 07 : 00 ,并将它作为一个string插入到SQL表中后,时间值如下所示: 0,29166666667

将其作为string值导入的原因是您必须能够在同一个字段中定义天数。 像这样: D2 10:30 。 当我导入这种值时,它被正确插入。

谁能帮忙?

Excel将date和时间存储为从0到0.99999999 + x天的数值。

0.29166666667就像00.01.1900 07:00:00 ,这在你的情况下似乎是正确的。

所以,在使用它作为一个直接的stringinput之前,你必须使用一些重新格式化或者转换这个值。

在VBA中,你可以使用Format(myValue,"DD-MM-YYYY hh:mm:ss")

等价的工作表函数将是TEXT(A1,"DD-MM-YYYY hh:mm:ss")

格式码取决于您的区域设置。 如果您Format(myTime, "Long Time")使用Excel定义的时间格式,您可能需要尝试像这样的Format(myTime, "Long Time")

因为你没有发布任何代码,我不确定你如何导入你的Excel数据。 但是,我会说,获得更好结果的最快方法是设置一个新列,使用TEXT公式并参考之前的时间列,并使用这个新格式化的列作为sql-db的input。