C # 4.0 Excel Создать диаграмму и положение - PullRequest
2 голосов
/ 30 марта 2011

Я столкнулся с небольшой проблемой.Я создал код, который создает лист 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;

Я действительно надеюсь, что один изу вас есть правильный awnser, помощь очень ценится!

edit: Решение было:

excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20;

Ответы [ 3 ]

1 голос
/ 30 марта 2011

Я нашел ответ.

Я заменил:

excelApp.ActiveChart.Shapes.Item(excelApp.ActiveChart.Name).Top = 100;

на:

excelApp.ActiveSheet.Shapes.Item("mainChartView").Top = 20;
1 голос
/ 01 апреля 2011

Вы также должны быть в состоянии использовать:

excelApp.ActiveChart.Parent.Top = 100;

0 голосов
/ 30 марта 2011

Вы устанавливаете свойство .Parent Name, не должны ли вы устанавливать имя самого объекта Chart?У вас есть объект Chart?Установите его свойство name

excelApp.ActiveSheet.Shapes.AddChart должно возвращать тип фигуры (в вашем случае).Установите это свойство типа name и попробуйте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...