当我将 excel(dd/mm/yyyy) 中的日期格式导入 msaccess 时,它显示非日期值

Posted

技术标签:

【中文标题】当我将 excel(dd/mm/yyyy) 中的日期格式导入 msaccess 时,它显示非日期值【英文标题】:When i import the date format in excel(dd/mm/yyyy) to msaccess it is showing non date value 【发布时间】:2012-07-12 10:38:43 【问题描述】:

当我以日期格式(dd/mm/yyyy)导入 excel 文件以访问它时,它显示非日期值是什么问题。

例如:27/3/2012 到 33765 此处 33765 是非日期值

【问题讨论】:

你是如何导入的?使用向导,使用 TransferSpreadsheet? @Remou 我正在通过单击外部数据在访问中使用向导导入 【参考方案1】:

原因是因为 MS Office 世界中的所有日期实际上都是数值,例如,您在 2012 年 3 月 27 日以上给出的日期等于 40995。

使用导入向导创建新表时,Access 会自动将其读取为真实数值,并将列类型设置为这样。

幸运的是,它很容易修复,打开表格的设计视图,将相关列修改为日期格式并保存表格,现在应该可以正确显示所有值。

或者,设置一个空白表格,其中列已设置为日期数据类型,然后将电子表格导入现有表格。

【讨论】:

这让我想知道为什么?数字 33765 应该是 1992 年 6 月 10 日 这是因为windows支持的第一个日期值是01/01/1900,这个值是1,然后它基本上每天加一个,这就是为什么今天(12/07/2012)自 1900 年 1 月 1 日以来是第 41102 天 ^_^ 我明白这一点。我的意思是,如前所述,27/3/2012 到 33765 的示例应该是 40995 而不是 33765,即 1992 年 @datatoo 啊,是的,我现在明白了,我决定忽略这一点,只发布为 40995。对我来说也是个谜。【参考方案2】:

Access 默认认为来自 Excel 的日期是美国日期格式 (mm/dd/yyyy) 而不是欧洲 (dd/mm/yyyy)。

您看到的数字是 excel 存储日期的方式。 (自 1990 年 1 月 1 日以来的每一天都是 +1)。 当日期为欧洲格式时,Access 在导入期间不会将其识别为日期,并且可能会加载其原始序列日期号。

另外确保这些要导入的访问列设置为“日期”。我想你可能已经这样做了,但我想检查一下。

【讨论】:

实际上问题是当我转换它显示数值 38443 的日期时 尝试将您的 excel 日期格式更改为 dd/mm/yyyy 以查看 Access 是否正确导入。

以上是关于当我将 excel(dd/mm/yyyy) 中的日期格式导入 msaccess 时,它显示非日期值的主要内容,如果未能解决你的问题,请参考以下文章

需要将日期时间转换为 dd/mm/yyyy [重复]

Excel 和 OpenOffice 中的日期格式不同

如何使用 PHPExcel 库读取 excel 一个单元格日期(DD/MM/YYYY)值并将日期格式转换为(M/D/YYYY)

dd/mm/yyyy 是啥日期格式?

将文本日期(2020 年 3 月 21 日)转换为 dd/mm/yyyy

PowerBI - 将 DatePicker 切片器中的日期格式设置为 dd/mm/yyyy