Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2004
damian2000 damian2000 is offline
Miembro
 
Registrado: may 2004
Posts: 13
Poder: 0
damian2000 Va por buen camino
Exportar a Excel desde builder 6.0

Hola, por mas que busco por el foro no he visto como se exporta a Excel en builder, he mirado como se hace en delphi y he intentado hacer esto:

Variant Excel = CreateOleObject("Excel.Application");
Excel.WorkBooks->Add();

con el resultado siguiente, "WorkBooks no es un miembro de Excel", alguien me podria decir como se hace? que llevo ya un buen rato y no veo la forma.

Vamos mi objetivo final es Exportar una Listview a Excel, si alguien lo tiene hecho, que por favor me ponga el codigo, gracias u un salu2
Responder Con Cita
  #2  
Antiguo 01-06-2004
damian2000 damian2000 is offline
Miembro
 
Registrado: may 2004
Posts: 13
Poder: 0
damian2000 Va por buen camino
Hola de nuevo, despues ya de 3 dias intentando exportar a Excel como se hace en delphi sin nigun exito, al fin he encontrado la forma de hacerlo, aki os dejo un ejemplo
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Variant Excel,Libro,Hoja,Celda;
  Excel = CreateOleObject("Excel.Application");
  Excel.OlePropertySet("Visible", true);
  Libro=Excel.OlePropertyGet("Workbooks");
  Libro.OleProcedure("Add");
  Hoja=Libro.OlePropertyGet("Item",1);
  Libro=Hoja.OlePropertyGet("Worksheets");
  Libro.OlePropertyGet("Item",1).OlePropertySet("Name","The yellow book-keeping ");
  Libro.OlePropertyGet("Item",2).OlePropertySet("Name","The red book-keeping ");
  for (int j=1;j<3;j++)
  {
	Hoja=Libro.OlePropertyGet("Item",j);
	for (int i=1;i<11;i++)
	{
	  Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",i,1).OlePropertySet("Value",i);
	  Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",i,2).OlePropertySet("Value",i*5);
	  Celda=Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",i,2);
	  Celda.OlePropertyGet("Font").OlePropertySet("Color",clBlue);
	  Celda.OlePropertyGet("Font").OlePropertySet("Bold",true);
	  Celda.OlePropertyGet("Interior").OlePropertySet("ColorIndex",9-3*j);
	}
	Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",11,1).OlePropertySet("Value","=SUM(A1:A10)");
	Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",11,2).OlePropertySet("Value","=SUM(B1:B10)");
  }
  Excel.OlePropertySet("DisplayAlerts",false); //suppress the warning dialog on closing the server
  Excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs","test.xls");
  //Excel.OleProcedure("Quit");
  Excel=Unassigned;
}
Salu2, espero que os sirva.
Responder Con Cita
  #3  
Antiguo 23-10-2005
aleph aleph is offline
Miembro
 
Registrado: oct 2005
Ubicación: San cristobal-Tachira-Venezuela
Posts: 13
Poder: 0
aleph Va por buen camino
Gracias

GRACIAS, GRACIAS,GRACIAS, tenia rato intentanto hacer lo del excel, me has ahorrado horas (sino dias de trasnocho); De nuevo gracias.











El aleph: un punto donde se es uno con el mundo. se esta aqui alla y en todas partes y al mismo tiempo.(Jorge Luis Borges)
Responder Con Cita
  #4  
Antiguo 23-10-2005
aleph aleph is offline
Miembro
 
Registrado: oct 2005
Ubicación: San cristobal-Tachira-Venezuela
Posts: 13
Poder: 0
aleph Va por buen camino
guardar un documento en una carpeta diferente

hola,ojala leas esto pronto, me ha servido mucho tu codigo, pero falta una cosa: es posible cambiar la carpeta donde se guarda el archivo .xls? la guarda por defecto en Mis documentos que es el que tiene predefinido el Excel; he podido cambiarle el nombre ( eso fue facil), no he trabajado mucho con estos "procedimientos" para word y excel y no se me ha ocurrido una forma hasta ahora, si sabes alguna forma porfa avisame. Gracias
Responder Con Cita
  #5  
Antiguo 24-10-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 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
  #6  
Antiguo 21-12-2005
aleph aleph is offline
Miembro
 
Registrado: oct 2005
Ubicación: San cristobal-Tachira-Venezuela
Posts: 13
Poder: 0
aleph Va por buen camino
Tarde pero seguro :)

Gracias; otra vez; para cuando respondiste ya habia solucionado lo de como guardar cambiando todo desde el path hasta crear una carpeta no me imaginaba lo facil que era; tardare un poco en analizar el codigo y ver que me puede servir; no importa lo tarde; es bueno saber que hay gente por ahi que esta dispuesta a ayudar; Feliz navidad.
Responder Con Cita
  #7  
Antiguo 20-06-2016
juanchopebe1993 juanchopebe1993 is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 3
Poder: 0
juanchopebe1993 Va por buen camino
ayuda por favor

Buen día, soy novato en la exportación de archivos, pero me gustaría me expliquen por favor la forma sencilla de como puedo modificar un archivo ya guardado en excel, y poner unos datos a unas casillas, en otras palabras modificar un excel.

Gracias es de carácter urgente.
Responder Con Cita
  #8  
Antiguo 22-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanchopebe1993 Ver Mensaje
Buen día, soy novato en la exportación de archivos, pero me gustaría me expliquen por favor la forma sencilla de como puedo modificar un archivo ya guardado en excel, y poner unos datos a unas casillas, en otras palabras modificar un excel.
Gracias es de carácter urgente.
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración
Responder Con Cita
  #9  
Antiguo 22-06-2016
juanchopebe1993 juanchopebe1993 is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 3
Poder: 0
juanchopebe1993 Va por buen camino
:)

Gracias por la información, pero no podrías ayudar con la pregunta por favor?

Responder Con Cita
  #10  
Antiguo 22-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por juanchopebe1993 Ver Mensaje
Gracias por la información, pero no podrías ayudar con la pregunta por favor?
Precisamente, lee nuestra guía de estilo y comprenderás porqué no debemos ayudarte con tu pregunta aquí.
Gracias por tu colaboración
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:06:32.


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
Copyright 1996-2007 Club Delphi