How to set a chart title with C# and Interop?
Actually trying:
Excel.Range chartRange;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlsSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250);
Excel.Chart chartPage = myChart.Chart;
chartRange = xlsSheet.Range[xlsSheet.Cells[1, 1], xlsSheet.Cells[ar.GetLength(0), ar.GetLength(1)]];
chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlRows);
chartPage.ChartType = Excel.XlChartType.xl3DColumn;
chartPage.Location(Excel.XlChartLocation.xlLocationAsNewSheet, oOpt);
chartPage.HasTitle = true;
chartPage.ChartTitle.Text = "HeaderText";
Giving sweet
"System.Runtime.InteropServices.COMException"
Error HRESULT E_FAIL has been returned from a call to a COM component
Found the answer on my own.
Just set the title before the chartPage is filled with information.
Instead of chartPage.HasTitle = true;
another way is by applying some chart layout containing a Title field before setting the title. In the case of xl3DColumn Chart :
chartPage.ApplyLayout (1)
chartPage.ChartTitle.Text = "HeaderText"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With