嗨,我能够从C#生成的图表在Excel这样更改默认图表地方
我想在特定的细胞设置默认的聊天的地方(例如小区E15)
到目前为止,我已经尝试像this
Excel.Range chartRange;
Excel.ChartObjects xlCharts = (Excel.ChartObjects)oWorkSheet.ChartObjects(Type.Missing);
Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 150);
Excel.Chart chartPage = myChart.Chart;
chartRange = oWorkSheet.get_Range("E5", "F13");
chartPage.SetSourceData(chartRange, misValue);
chartPage.ChartType = Excel.XlChartType.xlColumnClustered;
Excel.Range chartPlacementRange = oWorkSheet.get_Range("E15", "E15");
chartPage.Shapes.Item(myChart.Name).Top = (float)((double)chartPlacementRange.Top);
chartPage.Shapes.Item(myChart.Name).Left = (float)((double)chartPlacementRange.Left);
//chartPage.Shapes.Item(myChart).Top = 100;
//chartPage.Shapes.Item(myChart).Left = 100;
解决方案
,但我得到的错误“参数incorect”
我尝试在此link解决方案过于
但在我porgram它不可用“范围”型SetSourceData后,然后按空格
任何想法,如何正确地做到这一点?
更新
我认为不正确的参数是.item(myChart)
,所以我将其更改为.item(myChart.Name)*由于Baldrick
但它给新的错误 “与指定名称的项目未找到”
我试着给myChart名称与此代码
myChart.Name = "test";
//then changed
chartPage.Shapes.Item(myChart.Name = "test").Top = (float)((double)chartPlacementRange.Top);
,但它没有工作
它的工作......你只是想'(浮动)((双)chartPlacementRange.Top);' 后,我补充说....我可以设置图表的地方任何地方谢谢 – Neversaysblack
很高兴你知道了。 –