【问题标题】:how to get the earliest date Excel support programmatically如何以编程方式获取 Excel 支持的最早日期
【发布时间】:2011-10-10 11:04:42
【问题描述】:

Excel 插件、C#、UDF、 MyUDF 调用 Web 服务来检索特定日期。有时返回的日期不在 1900 年 1 月 1 日到 9999 年 12 月 31 日的范围内(Excel 日期范围)。例如。在一种情况下,返回日期是 Jan-2-0002(在 C# 中有效,但在 Excel 中无效),然后 Excel 崩溃。我没有硬编码“Jan-1-1900”,所以想知道是否有一种方法可以以编程方式获取它。谢谢

【问题讨论】:

  • 老实说,我会对其进行硬编码或将日期范围放入配置文件中。

标签: c# excel date limit


【解决方案1】:

在Excel中,将1对应的日期转换成可以解析的字符串:

=TEXT(1,"dd-mm-yyyy")

这应该给你 01-01-1900 或 02-01-1904,具体取决于所选的 date system(向 barrowc 致敬!)。请注意日期系统不仅相差四年,而且在一种情况下,值 1 对应于 1 月 1 日(1900 年),而在另一种情况下,值 0 对应于 1 月 1 日(1904 年)。对于给定的工作簿,Workbook.Date1904 Property 可以告诉您正在使用哪个日期系统。

【讨论】:

  • +1 只需注意设置的 Workbook.Date1904 属性 - 这将导致日期从 1904/01/02 而不是 1900/01/01 开始 - 请参阅 msdn.microsoft.com/en-us/library/ff193264.aspx跨度>
  • 谢谢@barrowc - 我添加了一些相关信息。我想我对“事情永远不会改变”再次充满信心......
猜你喜欢
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
相关资源
最近更新 更多