gpt4 book ai didi

vb.net - 使用 Interop Excel.Application 从 excel 文件中读取 "date"

转载 作者:行者123 更新时间:2023-12-01 11:51:08 25 4
gpt4 key购买 nike

我正在使用互操作从 excel 文件中读取和获取信息,但是当我从 excel 文件中读取日期时遇到了一个问题。 2012 年 2 月 5 日;它给出 41060。

我如何读取正确的日期值或为什么返回 41060?

最佳答案

您找到了答案,但一些背景知识可能会有所帮助。

Excel 将日期和时间保存为数字。如果用户在单元格中键入 31-May-2012,Excel 会将其识别为日期,因此将值存储为 41060 并将数字格式设置为“dd-mmm-yyyy”。如果用户在单元格中键入 41060 并将数字格式设置为“dd-mmm-yyyy”,则该值将显示为 31-May-2012。数据输入完成后,Excel 不会记录第一个 41060 作为日期输入,第二个作为数字输入。

在 PC 上,日期的整数部分是自 1900 年以来的天数(在 Mac 上使用 1904 年),小数部分是:

time in seconds
---------------
seconds in day

所以 41060.25 代表:2012 年 5 月 31 日 6:00:00

当通过 Excel InterOp 读取数据时,如果您不知道数据的类型,我建议您获取 .NumberFormat 以及 .Value.Text 也可能有用;它提供了用户看到的值(value)。

警告:如果您得到 .NumberFormat,则 Excel 使用的格式与 VBA 的 Format() 和 VB.Net 的 Format() 使用的格式略有不同。

访问How to use dates and times in Excel有关 Excel 日期的更多详细信息。

关于vb.net - 使用 Interop Excel.Application 从 excel 文件中读取 "date",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11340642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com