2

我正在使用 ColdFusion 9 从 Excel (2007, xls) 电子表格中导入数据。正在导入的列之一是日期字段。在大多数情况下,日期很好,但在某些情况下,日期格式似乎发生了一些奇怪的事情。它是mm\/dd\/yyyy. 我不知道添加那些额外\的 's 是什么。具体错误很明显:

"11\/15\/2012 is an invalid date or time string." 

直接查看电子表格和单元格本身,日期的格式正确显示为mm/dd/yyyy.

有谁知道这可能是什么原因造成的?

跟进

感谢您提供有用的答案。最后,最好的解决方案来自 CoderSeven。我曾经Replace(dateString, '\', '', 'all')删除有问题的斜线并处理数据。这被证明是最好的解决方案,因为我正在处理可能来自成千上万个人的电子表格,虽然我控制他们使用的电子表格的格式,但我无法控制他们是否将数据键入或剪切并粘贴到字段中。最终我很想知道那个额外的斜线是从哪里来的,但是这个解决方案效果很好。

4

2 回答 2

1

这并不是关于为什么会发生这种情况的真正答案,但它是一种解决方法。

只需使用Replace(yourdate, '\', '').

就个人而言,我倾向于采取以下立场:

如果 MS 产品做了一些奇怪的事情,最好的解决方案是确保您能够处理这种奇怪,而不是试图找出这种奇怪的来源。

并不是说 MS 产品不好,它通常会为您节省大量时间和精力。

于 2013-02-15T23:29:03.563 回答
0

“11\/15\/2012 是无效的日期或时间字符串。” 一个问题可能是电子表格上的日期不是字符串,它们是 Excel 时间值——基本上是整数。也许使用以下方法将这些单元格转换为文本格式: =TEXT(C7,"mm/dd/yyyy")

可能会解决问题。为了安全起见,我也会将格式更改为文本。祝你好运。

于 2013-02-15T16:56:36.863 回答