2010-06-10 27 views
5

Utilizando la biblioteca interoperativa C# MS Excel, me gustaría crear programáticamente un nuevo gráfico en el libro, en lugar de en una hoja.C# -excel interop: crear un gráfico en el libro en lugar de en una hoja

El siguiente código me permite crear un gráfico en una _Worksheet (hoja) existente.

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; 

¿Alguien sabe cómo en lugar de ir sobre la creación de un gráfico en el libro de trabajo (es decir, cuando el gráfico es la hoja).

Respuesta

3

Si graba una macro de insertar un gráfico como una hoja de la GUI de Excel y mira el VB generado (que, por cierto, es una forma muy práctica de averiguar cómo hacer cosas en la interoperabilidad), verá simplemente crea el gráfico primero en la hoja de trabajo activa y luego cambia su ubicación a una hoja nueva. Así que después de su código por encima de usted puede simplemente añadir la línea:

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

o si desea que Excel para nombrar automáticamente por usted:

chart.Location(XlChartLocation.xlLocationAsNewSheet, Type.Missing); 
+0

gracias yoyo, esa es la respuesta que estaba buscando, y algunos buen consejo. –

Cuestiones relacionadas