如何使用c# .net在Excel中设置y轴最小刻度

本文关键字:设置 何使用 net Excel | 更新日期: 2023-09-27 18:06:57

我正在使用Interop excel 12.0创建一个图表。

我分配给yaxis的数据范围从7/5/2010开始到8/29/2011。但是图表上的Y轴从2010年7月12日开始到2011年8月22日结束,然而图表线的增长显示了从开始到结束的数据

myChart.Chart.ChartWizard(xlWorkSheet.get_Range("A1", "B62"),misValue, misValue, misValue,misValue, Excel.XlRowCol.xlColumns, false,
                    "Space Used Trend Report for databases DLP01P, DLP07P, DPN01P and DUV01P", "Date", "GB", misValue);
                Font f = new System.Drawing.Font(FontFamily.GenericSansSerif, 10.0f);
                myChart.Chart.ChartTitle.Characters.Font.Size = f.Size;
                chartPage.HasTitle = true;
                //Trend Line setting
                //Creating a series
                Excel.Series series = (Excel.Series)chartPage.SeriesCollection(1);
                //Setting the series to Secondary (y) axis so as to format the same
                series.AxisGroup = Excel.XlAxisGroup.xlSecondary;
                //Setting the trendline type
                Excel.Trendlines trendlines = (Excel.Trendlines)series.Trendlines(System.Type.Missing);
                Excel.Trendline trendline = trendlines.Add(Microsoft.Office.Interop.Excel.XlTrendlineType.xlLinear, 2,
                    0, misValue, misValue, misValue, false, false, misValue);
                //Creating a variable for yaxis and assigning the chart's y axis to the same
                Excel.Axis yaxis = (Excel.Axis)chartPage.Axes(Excel.XlAxisType.xlCategory, series.AxisGroup);
                yaxis.MajorUnit = 14;
                yaxis.MinorUnit = 7;
                yaxis.Format.Line.BackColor.RGB = Color.Red.ToArgb();
                yaxis.Format.Line.ForeColor.RGB = Color.Red.ToArgb();
                yaxis.MajorUnitScale = Excel.XlTimeUnit.xlDays;
                yaxis.MinorUnitScale = Excel.XlTimeUnit.xlDays;
                yaxis.MinimumScaleIsAuto = false;
                yaxis.MinimumScale = ?????

如何使用c# .net在Excel中设置y轴最小刻度

如果我理解得好,这就是你要找的:在Excel中,日期是自1900年1-1-1以来的日期。如果你想在c#代码中计算,请记住,在Excel 1900中是闰年(当然,它不是,但这源于与Lotus 123的兼容性!),所以7/12/2010将是40519.00

试试这样做,只是改变值

{

        chartPrincipal.YAxis.ScaleRange.ValueHigh = 100;
        chartPrincipal.YAxis.ScaleRange.ValueLow = 0;

}