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;