Ver Mensaje Individual
  #5  
Antiguo 24-10-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Reputación: 20
alt126 Va por buen camino
Perdon por la tardanza!!!

Yo hace un tiempo, tuve que realizar varias cosas con excel desde borland, generar informes con datos, formulas, graficos, imagenes... te dejo un codigo simple para empezar, si necesitas mas complejidad pues dices algo. Perdonar pero he tardado mucho en leer este hilo.

Cita:
//Ahora construimos el documento excel y lo mostramos.
//Creo un Objeto de tipo aplicacion 'Excel'
Variant Excel = Variant::CreateObject("Excel.Application");
//Accedo a sus propiedades y metodos con 'OlePropertySet'
Excel.OlePropertySet("Visible",(Variant)true);
//Obtengo un objeto que será una coleccion de objetos libros
Variant MiColeccionLibros=Excel.OlePropertyGet("Workbooks");
//Creamos los libros.
//La Coleccion esta vacia y voy a añadir un libro
MiColeccionLibros.OleProcedure("Add");
//A partir de la Coleccion obtengo el primer objeto 'libro'
Variant MiLibro=MiColeccionLibros.OlePropertyGet("Item",(Variant)1);

//A partir del objeto libro obtengo una coleccion de hojas
Variant MIColeccionHojas=MiLibro.OlePropertyGet("Worksheets") ;
//A partir de la coleccion de hojas accedo de objetos hojas y las nombra
MIColeccionHojas.OlePropertyGet("Item",(Variant)1).OlePropertySet("Name",(Variant)Datos->qConsultaExcel->FieldByName("Denominacion")->AsString);
//Obtengo un objeto hoja, a partir de la coleccion de hojas
Variant MiHoja=MIColeccionHojas.OlePropertyGet("Item",(Variant)1);
//Meter una imagen!!!
MiHoja.OlePropertyGet("Shapes").OleProcedure("AddPicture",(Variant)rutalogo,(Variant)false,(Variant) true,(Variant)100,(Variant)5,(Variant)50,(Variant)50);

//Celdas para la grafica
columna = 2;
fila = 5;
//LONGITUD DE LAS CELDAS.
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)1).OlePropertySet("ColumnWidth",(Var iant)1);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)2).OlePropertySet("ColumnWidth",(Var iant)20);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)3).OlePropertySet("ColumnWidth",(Var iant)10);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)4).OlePropertySet("ColumnWidth",(Var iant)14);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)5).OlePropertySet("ColumnWidth",(Var iant)10);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)6).OlePropertySet("ColumnWidth",(Var iant)14);
MiHoja.OlePropertyGet("Columns").OlePropertyGet("Item",(Variant)7).OlePropertySet("ColumnWidth",(Var iant)10);
//MOSTRAMOS LOS DATOS.
//FILA 1 ++++++++++++++++++++++++++
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"NOMBRE",16);
columna++;
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"",16);
columna++;
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"",16);
columna++;
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"",16);
columna++;
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"",16);
columna++;
Celda(MiHoja,fila,columna,true,true,10,clWhite,(Variant)"",16);
fila++;

//FILA 2 ++++++++++++++++++++++++++++++
columna = 2;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"Numero",15);
columna++;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"",0);
columna++;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"Inicio",15);
columna++;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"",0);
columna++;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"Fin",15);
columna++;
Celda(MiHoja,fila,columna,false,false,10,clBlack,(Variant)"",0);
columna++;
fila++;
.
.
.
.
(Y asi hasta que queramos)
se puede cambiar casi todo, color del texto, color del fondo, tipo de letra...y si no sabeis que clases son, usar la opcion de excel de grabar macro, luego haceis en excel lo que quereis saber como se hace en borland, y parais de grabar la macro. Despues veis el codigo que ha generado la macro y ahi teneis una ayuda para ver como se usa la clase.

Un saludo

Antonio
Responder Con Cita