将DateTime.Now转换为在设置图表的最小比例时友好的值

时间:2017-12-14 14:31:06

标签: excel vb.net datetime charts

我有一些在excel中创建图表的代码。 x轴采用日期格式,作为标准的Excel设置,自动缩放始终在数据开始之前留下较大的间隙。为了解决这个问题,我希望我的第一个日期值是第二个时间,并将其设置为.MinimumScale,但我遇到问题并且无法将其转换为正确的格式。

例如,DateTime.Now值现在是14/12/2017 14:25,而作为excel中的数字,它是43083.60。我想(虽然我不是100%肯定)我需要输入我的.MinimumScale

的值
With chartPage.Axes(Excel.XlAxisType.xlValue)
            .HasTitle = True
            .AxisTitle.Caption = "Time (Days)"
            .hasminorgridlines = True

            Dim date1 As String
            date1 = DateTime.Now.ToString

            MessageBox.Show(date1)
            .MinimumScale = date1

谢谢

1 个答案:

答案 0 :(得分:1)

Excel将日期时间值存储为Double数据类型。 Axis.MinimumScale Property也是Double类型。

要将.Net DateTime值转换为代表Excel DateTime值的Double,请调用其ToOADate Method

.MinimumScale = DateTime.Now.ToOADate()