[英]How to provide the custom angle to label in excel using C#
我想在x轴上为我的标签提供自定义角度,使其与-35度相似。 即我想格式化在Excel ==>格式轴==>对齐==>自定义角度
newWorksheet.Select(Type.Missing);
Excel.Range chartRange;
object misValue = System.Reflection.Missing.Value;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)newWorksheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
Excel.Chart chartPage = myChart.Chart;
chartRange = newWorksheet.get_Range(cell1, cell2);
chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlColumns);
chartPage.ChartType = Excel.XlChartType.xlColumnClustered;
var labels = new List<string>();
string date = string.Empty;
foreach (KeyValuePair<string, List<TestDetails>> kvp in writetocsv)
{
date = kvp.Key.Substring(0, (kvp.Key.Length - kvp.Key.IndexOf('_')) + 1);
labels.Add(date);
}
var series = (Excel.Series)chartPage.SeriesCollection(1);
series.XValues = labels.ToArray();
//series.HasDataLabels = true;
Excel.Axis valueAxis = (Excel.Axis)chartPage.Axes(Excel.XlAxisType.xlValue, Microsoft.Office.Interop.Excel.XlAxisGroup.xlPrimary);
chartPage.Location(Microsoft.Office.Interop.Excel.XlChartLocation.xlLocationAsNewSheet, "Chart_" + sheetName);
试试这个( 经过试验和测试 )
Excel.Range chartRange;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
Excel.Chart chartPage = myChart.Chart;
chartRange = xlWorkSheet.get_Range("A1", "d5");
chartPage.SetSourceData(chartRange, misValue);
chartPage.ChartType = Excel.XlChartType.xlColumnClustered;
//~~> From here this is the part which you want
chartPage.ApplyLayout(6, Type.Missing);
chartPage.Axes(Excel.XlAxisType.xlValue).AxisTitle.Select();
chartPage.Axes(Excel.XlAxisType.xlValue).AxisTitle.Orientation = Excel.XlOrientation.xlHorizontal;
//~~> 35 Deg angle
for (int i = 1; i <= 35; i++)
{
chartPage.Axes(Excel.XlAxisType.xlValue).AxisTitle.Orientation = -i;
}
快照
跟进
嗨Siddharth,Actullay我想提供角度“Term1”,“Term2” - User123 10分钟前
尝试使用X轴刻度标签
Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
Excel.Chart chartPage = myChart.Chart;
chartRange = xlWorkSheet.get_Range("A1", "d5");
chartPage.SetSourceData(chartRange, misValue);
chartPage.ChartType = Excel.XlChartType.xlColumnClustered;
chartPage.ApplyLayout(6, Type.Missing);
chartPage.Axes(Excel.XlAxisType.xlCategory).Select();
chartPage.Axes(Excel.XlAxisType.xlCategory).TickLabels.Orientation = 35;
快照
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.