Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   De nuevo...GRAFICAS AUTOMATICAS EN EXCEL!! (https://www.clubdelphi.com/foros/showthread.php?t=20309)

alt126 12-04-2005 10:23:25

De nuevo...GRAFICAS AUTOMATICAS EN EXCEL!!
 
Hace poco escribi un mensaje sobre esto, pero ahora que he vuelto sobre el tema, me gustaria que alguien me ayudara, POR FAVOR!!!

Para crear una grafica de manera automatica en excel desde builder hago esto (codigo cedido por OSKR):

//RANGO DE CELDAS PARA LA GRAFICA
String origen,destino; //Comienzo y destino de las celdas de datos.
origen="C";
destino="C";
origen=origen + IntToStr(14);
destino=destino + IntToStr(14 + num_visitas - 1);
origen = origen + ":" + destino;
Variant MiRango=MiHoja.OlePropertyGet("Range",origen);
//GRAFICA
Variant MiColeccionGraficos=MiHoja.OlePropertyGet("ChartObjects");
MiColeccionGraficos.OleProcedure("Add",400,20,200,200);
Variant MiGrafico=MiColeccionGraficos.OlePropertyGet("Item",1);
AnsiString TituloPrincipal="Palomas";
AnsiString TituloEjeY="Eje Y";
AnsiString TituloEjeX="Eje X";
//1 con leyenda
//0 sin leyenda
int Leyenda=1;
//The number of rows or columns containing series labels
int SeriesLabels=0;
//The number of rows or columns containing category labels
int CategoryLabels=0;
//7-> barras con valores
//6-> barras sin valores
//5-> barras complementarias
int ContruccionGrafica=6;
//2 por barras horizontales
//3 por barras verticales
//5 tarta
//11 por barras 3d
//13 por tarta 3d
int TipoGrafico=5;
MiGrafico.OlePropertyGet("Chart").OleProcedure("ChartWizard",MiRango,TipoGrafico,ContruccionGrafica, 2,CategoryLabels,
SeriesLabels,Leyenda,TituloPrincipal.c_str(),TituloEjeX.c_str(),TituloEjeY.c_str());
Excel=Unassigned;


El problema es que no se como asignar nombres a las series que muestro, es decir, me aparece la grafica, con los datos, pero cada serie aparece con nombres 1,2,3...

GRACIAS,

Antonio

alt126 12-04-2005 11:22:46

He encontrado...
 
Que los datos de una grafica vienen dados por series no?...pues para modificarlos, se puede utilizar un metodo llamado SeriesCollection, de manera que si usamos la propiedad "Value", modificamos los datos y con "XValue", los nombres de los datos...

El problema es que el borland me da un fallo que me dice que ese metodo no se puede automatizar...?¿?¿?¿?

Entonces direis como, metes los datos, si no te deja?...pues yo estoy usando el metodo, chartwizard....pero ahi no le puedo indicar los nombres de las series....

ALGUNA SUGERENCIA???? POR FAVOR!!!!

Antonio

barman 12-04-2005 16:25:00

Noommmmmm, odio excel y toda su api de M.....a, es engorrosa y parece hecha para que tengas que pagar la cuota anual de M$, (lo cual no quiere decir que no la use, en fin).

Pero, lo que pides no lo he hecho nunca, lo maximo ha sido dibujar las graficas (2d) sobre un canvas y enviarlo como una bmp a excel.

alt126 14-04-2005 10:48:24

Solucionado!!!
 
La solucion es la siguiente:

Variant MiRango=MiHoja.OlePropertyGet("Range","A1:A5");
Variant MiColeccionGraficos=MiHoja.OlePropertyGet("ChartObjects");
MiColeccionGraficos.OleProcedure("Add",500,200,200,200);
Variant MiGrafico=MiColeccionGraficos.OlePropertyGet("Item",1);
Variant q = MiGrafico.OlePropertyGet("Chart");
Variant r = q.OlePropertyGet("SeriesCollection",(Variant)1);
r.OlePropertySet("XValues","='1'!L1C2:L2C2"); //Aqui toma los nombres!!!


GRACIAS A DAVID (GOKU)!!!! :p

Antonio


La franja horaria es GMT +2. Ahora son las 19:08:20.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi