【发布时间】:2014-02-23 17:43:55
【问题描述】:
嗨,我可以像这样从 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;
但我得到错误'参数不正确'
我也在这个link 中尝试解决方案
但在我的 porgram 中它不可用 'Range' 键入 SetSourceData 后按空格键
任何想法,如何正确地做到这一点?
更新
我认为不正确的参数是 .item(myChart)
所以我将其更改为 .item(myChart.Name) *感谢 Baldrick
但它给出了新的错误
'找不到指定名称的项目'
我尝试使用此代码为 myChart 命名
myChart.Name = "test";
//then changed
chartPage.Shapes.Item(myChart.Name = "test").Top = (float)((double)chartPlacementRange.Top);
但是没用
【问题讨论】:
标签: c# charts excel-2007