C#4.0 Excel生成图表和位置

我遇到了一个小问题。 我创build了一个代码,用于创build一个包含几条logging的Excel工作表并创build折线图。 但问题是我似乎无法将图表定位在指定位置。 这是我的代码:

excelApp.ActiveSheet.Shapes.AddChart.Select(); excelApp.ActiveChart.ChartType = Excel.XlChartType.xlLine; excelApp.ActiveChart.SetSourceData(Source: excelApp.Range["Sheet1!$A$1:$B$7"]); excelApp.ActiveChart.Parent.Name = "mainChartView"; excelApp.ActiveChart.Shapes.Item(excelApp.ActiveChart.Name).Top = 100; // or excelApp.ActiveChart.Shapes.Item("mainChartView").Top = 100; 

两者都返回以下错误:

 ArgumentExecption was unhandled (The item with the specified name wasn't found). 

这是错误行:

 excelApp.ActiveChart.Shapes.Item(excelApp.ActiveChart.Name).Top = 100; // or excelApp.ActiveChart.Shapes.Item("mainChartView").Top = 100; 

我真的希望你们中的一个有正确的维修人员,非常感谢!

编辑:解决scheme是:

 excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20; 

你应该也可以使用:

excelApp.ActiveChart.Parent.Top = 100;

我已经find了自己的安泽。

我replace了:

 excelApp.ActiveChart.Shapes.Item(excelApp.ActiveChart.Name).Top = 100; 

有:

 excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20; 

您正在设置.Parent名称属性,不应该设置图表对象本身的名称? 你有Chart对象吗? 设置其名称属性

excelApp.ActiveSheet.Shapes.AddChart应该返回一个形状types(在你的情况图)。 设置该types的名称属性,然后尝试