以编程方式设置Excel图表标题

时间:2015-07-24 15:16:19

标签: c# excel charts com interop

如何使用C#和Interop设置图表标题?

实际上在尝试:

            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";

给予甜蜜

“System.Runtime.InteropServices.COMException”

错误HRESULT E_FAIL已从调用COM组件返回

2 个答案:

答案 0 :(得分:3)

自己找到答案。

只需在chartPage填充信息之前设置标题。

答案 1 :(得分:0)

而不是chartPage.HasTitle = true;另一种方法是在设置标题之前应用包含标题字段的某些图表布局。在xl3DColumn图表的情况下:

chartPage.ApplyLayout (1)
chartPage.ChartTitle.Text = "HeaderText"