C # -Excel Interop - создать диаграмму на книге, а не на листе - PullRequest
5 голосов
/ 10 июня 2010

Используя библиотеку взаимодействия c # MS Excel, я хотел бы программно создать новую диаграмму в книге, а не на листе.

Приведенный ниже код позволяет мне создать диаграмму на существующем рабочем листе (листе).

using using Microsoft.Office.Interop.Excel;  

_Worksheet sheet;  (assume this is a reference to a valid _Worksheet object)  
ChartObjects charts = (ChartObjects)sheet.ChartObjects(Type.Missing);  
ChartObject chartObject = (ChartObject)charts.Add(10, 80, 300, 250);  
Chart chart = chartObject.Chart;  
chart.ChartType = XlChartType.xlXYScatter;

Кто-нибудь знает, как лучше всего создать диаграмму в рабочей книге (т. Е. Где диаграмма - это лист).

1 Ответ

3 голосов
/ 11 июня 2010

Если вы запишите макрос вставки диаграммы в виде листа из графического интерфейса Excel и посмотрите на сгенерированный VB (что, кстати, является действительно удобным способом выяснить, как делать вещи во взаимодействии), вы увидите егосначала создайте диаграмму на активном листе, а затем измените ее местоположение на новый лист.Поэтому после кода выше вы можете просто добавить строку:

  chart.Location(XlChartLocation.xlLocationAsNewSheet, "NewSheetName");

или, если вы хотите, чтобы Excel автоматически назвал ее для вас:

  chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...