C# 更改excel中的默认图表位置

C# 更改excel中的默认图表位置,c#,charts,excel-2007,C#,Charts,Excel 2007,嗨,我能像这样从C#生成excel图表 我想在特定单元格(示例单元格E15)中设置默认聊天地点 到目前为止,我已经尝试过这样的解决方案 但是我得到了错误“参数不正确” 我也在尝试这个解决方案 但在我的程序中,在键入SetSourceData后,按空格键,则“范围”不可用 有什么想法,如何正确地做 更新 我认为不正确的参数是.item(myChart) 因此我将其更改为.item(myChart.Name)*感谢Baldrick 但这是一个新的错误 “找不到具有指定名称的项目” 我试着用这个

嗨,我能像这样从C#生成excel图表

我想在特定单元格(示例单元格E15)中设置默认聊天地点

到目前为止,我已经尝试过这样的解决方案

但是我得到了错误“参数不正确”

我也在尝试这个解决方案
但在我的程序中,在键入SetSourceData后,按空格键,则“范围”不可用

有什么想法,如何正确地做


更新

我认为不正确的参数是.item(myChart)
因此我将其更改为.item(myChart.Name)*感谢Baldrick
但这是一个新的错误 “找不到具有指定名称的项目”

我试着用这个代码给我的图表命名

myChart.Name = "test";
//then changed
chartPage.Shapes.Item(myChart.Name = "test").Top = (float)((double)chartPlacementRange.Top);
但这不是工作

那么:

 Excel.Range chartPlacementRange = oWorkSheet.get_Range("E15", "E15");
 chartPage.Shapes.Item(chartPage.Name).Top = (float)((double)chartPlacementRange.Top);
 chartPage.Shapes.Item(chartPage.Name).Left = (float)((double)chartPlacementRange.Left);
那就:

excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 150);
Excel.Range chartPlacementRange = oWorkSheet.get_Range("E15", "E15");
myChart.Left = chartPlacementRange.Left;
myChart.Top = chartPlacementRange.Top;

我仍然收到消息错误参数不正确…您有其他解决方案吗?我认为.item(myChart)…myChart中的问题需要替换为其他内容(正确参数)请尝试上述编辑版本。(您需要为Item方法提供对象名称或索引-因此我已将其更改为提供名称)我收到新错误…“未找到具有指定名称的项”…我尝试设置myChart.name=“test”和change.Item(myChart.name=“test”),但没有工作可能尝试上述编辑?(您可能需要图表的名称,而不是ChartObject的名称)它可以工作…您只是错过了“(float)((double)chartPlacementRange.Top);”在我加上这些之后…我可以在任何地方设置图表的位置,谢谢你。
excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 150);
Excel.Range chartPlacementRange = oWorkSheet.get_Range("E15", "E15");
myChart.Left = chartPlacementRange.Left;
myChart.Top = chartPlacementRange.Top;