使用C#设置Excel图表minimumscale

我似乎无法弄清楚如何设置使用C#的Excel图表的最小规模。

图表的x轴加载了来自列“A”的值,即hr:min值{“08:32”,“08:33”,…}。

我想我的轴标签从“09:00”开始,我认为设置minimumscale是这样做的唯一方法。

Xaxis.MinimumScale似乎想要一个双重值,但我想告诉它从09:00开始。 我的尝试是在下面,但尝试将string设置为double值时失败。

谢谢

Excel.Workbook oWB = (Excel.Workbook)oWS.Parent; Excel.Series oSeries; int length = numRows + 2; string colname; Excel.ChartObjects xlCharts; Excel.ChartObject myChart; Excel.Chart chartPage; Excel.SeriesCollection oSeriesCollection; ... xlCharts = (Excel.ChartObjects)oWS.ChartObjects(Type.Missing); myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250); chartPage = myChart.Chart; oSeriesCollection = (Excel.SeriesCollection)chartPage.SeriesCollection(); oSeries = oSeriesCollection.NewSeries(); oSeries.Name = "Actual"; oSeries.XValues = oWS.Range["A2:A" + length]; oSeries.Values = oWS.Range["A2","A"+length]; //Set the interval to 1 hour Excel.Axis Xaxis; //format the x-axis Xaxis = (Excel.Axis)chartPage.Axes(Excel.XlAxisType.xlCategory, Excel.XlAxisGroup.xlPrimary); Xaxis.TickLabelSpacing = 60; Xaxis.TickLabels.Offset = 130; Xaxis.HasTitle = true; Xaxis.AxisTitle.Text = "Time of day"; Xaxis.TickMarkSpacing = 60; Xaxis.MinorTickMark = Excel.XlTickMark.xlTickMarkNone; Excel.Range rg =(Excel.Range)oWS.Cells[28,1]; object d = rg.Value2; Xaxis.MinimumScale = d; 

如果将时间(9:00)转换为小数(9/24),则可能会有效。 Excel 2003用于接受时间和date格式的轴比例参数,但2007只在有限的情况下接受这种格式。