2011-08-08 8 views
1

C#を使用してExcelの最小縮尺を設定する方法がわかりません。C#を使用してExcelの最小縮尺を設定する

グラフのx軸には、hr:min値{"08:32"、 "08:33"、...}である列 "A"の値が読み込まれます。

軸ラベルの開始位置を「09:00」にすると、最小スケールの設定がこれを行う唯一の方法だとわかりました。

Xaxis.MinimumScaleは2倍の値を求めているようですが、09:00に開始するようにしたいと思います。私の試行は以下の通りですが、文字列を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; 

答えて

1

あなたは分数(9/24)までの時間(9:00)変換する場合それが動作する可能性があります。 Excel 2003では、時間軸と日付の形式で軸スケールパラメータを受け入れていましたが、2007年は限られた場合にのみこの形式を受け入れます。

関連する問題