我遇到了一个小问题。我创建了一个代码,用于创建包含少量记录的Excel工作表并创建折线图。但问题是我似乎无法将图表定位在指定位置。这是我的代码:
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;
我真的希望你们中的一个拥有正确的芒果,非常感谢帮助!
编辑:解决方案是:
excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20;
答案 0 :(得分:1)
我自己找到了anwser。
我换了:
excelApp.ActiveChart.Shapes.Item(excelApp.ActiveChart.Name).Top = 100;
使用:
excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20;
答案 1 :(得分:1)
你也应该能够使用:
excelApp.ActiveChart.Parent.Top = 100;
答案 2 :(得分:0)
您正在设置.Parent Name属性,您不应该设置Chart对象本身的名称吗?你有Chart对象吗?设置其名称属性
excelApp.ActiveSheet.Shapes.AddChart应该返回一个形状类型(在您的案例图表中)。设置类型名称属性,然后尝试