Следующий код C# генерирует диаграмму с автоматически установленным месяцем и годом по оси X, как показано на первом изображении. В Excel вручную измените следующие параметры:
- Диаграмма «Ось формата» -> «Параметры оси» -> «Единицы» -> «Основные» значения на «1» и «Год»
создается второе изображение.
Номер Категория -> «Дата», «Тип» -> «Март-12»
создается третье изображение.
Как можно установить эти параметры с помощью C#?
var chartRange = oSheet.Range[oSheet.Cells[3, 2], oSheet.Cells[3 + rno - 4, 6]];
var chartContainer = charts.Add(left, top, width, height);
var lineChart = chartContainer.Chart;
lineChart.SetSourceData(chartRange);
lineChart.Legend.Position = Excel.XlLegendPosition.xlLegendPositionTop;
// barChart.Legend.Clear(); // removing legend
Excel.Series series = lineChart.SeriesCollection(1) as Excel.Series;
series.Interior.Color = Color.FromArgb(34, 92, 107);
series.Border.Weight = 1;
series.Border.Color = Color.FromKnownColor(KnownColor.Black);
Excel.Axis axis1 = lineChart.Axes(1);
axis1.TickLabelPosition = Excel.XlTickLabelPosition.xlTickLabelPositionNextToAxis;
Excel.TickLabels tickLabels3 = axis1.TickLabels as Excel.TickLabels;
tickLabels3.NumberFormat = "mm/yy";
Excel.Axis axis2 = lineChart.Axes(2);
Excel.TickLabels tickLabels2 = axis2.TickLabels as Excel.TickLabels;
//tickLabels2.NumberFormat = "0.0%";
lineChart.ChartType = Microsoft.Office.Interop.Excel.XlChartType.xlLine;
lineChart.ChartWizard(Source: chartRange, Title: chartTitle, CategoryTitle: categoryTitle, ValueTitle: valueTitle);
lineChart.ChartColor = 8;
axis1.AxisTitle.Orientation = Excel.XlOrientation.xlHorizontal;
axis1.AxisTitle.Font.Size = 8;
axis2.AxisTitle.Font.Size = 12;
Диаграмма со сгенерированным Excel масштабированным месяцем / годом по оси x
Диаграмма с осью x по желанию
Диаграмма по желанию