2014-02-20 108 views
0

嗨,我能夠從C#生成的圖表在Excel這樣更改默認圖表地方

enter image description here

我想在特定的細胞設置默認的聊天的地方(例如小區E15)

enter image description here

到目前爲止,我已經嘗試像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); 

,但它沒有工作

回答

1

如何只:

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; 
+0

它的工作......你只是想'(浮動)((雙)chartPlacementRange.Top);' 後,我補充說....我可以設置圖表的地方任何地方謝謝 – Neversaysblack

+0

很高興你知道了。 –

1

如何:

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); 
+0

我仍然得到消息錯誤參數不正確......你有另一種解決方案? – Neversaysblack

+0

我認爲.item(myChart)中的問題... mychart需要用別的東西替換(正確的參數) – Neversaysblack

+1

嘗試上面編輯的版本。 (你需要提供對象名稱或索引到Item方法 - 所以我已經改變它來提供名稱) – Baldrick