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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-05-2008
santipeich santipeich is offline
Registrado
 
Registrado: may 2008
Posts: 3
Poder: 0
santipeich Va por buen camino
Exportar Stringgrid a Excel

Hola amiguetes,

Estoy haciendo un pequeño programa para mi empresa (ya lo tengo casi finiquitado) y me acaba de pedir mi jefe exportar todos los datos de las consultas generadas, que además las voy metiendo en un datagrid, a EXCEL

He buscado y rebuscado en la documentacion de builder, he preguntado por otros foros y he googleado como un cabroncete, pero no consigo dar con la solución para C++ Builder. He encontrado algo para Delphi pero como mis conocimientos de programación son bastante bajos, pues no he sido capaz de hacer una conversión a c++ builder.

Si alguno de ustedes se encontró con la misma situación en la que me encuentro y me puede echar una manita se lo agradecería eternamente.

Gracias por vuestro tiempo
Responder Con Cita
  #2  
Antiguo 23-05-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, tal vez uno de los componentes de uno de los miembros del Club Delphi.com.ar, pueda realizar eso que propones, lo puedes encontrar aquí.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 24-05-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Una forma sencilla y elegante puede ser transportar "tablas" mediante el clipboard. Este sistema te permite copiar y pegar a otros programas y formatos.

Una tabla para Excel o Word tiene un formato en el clipboard asi:

Columna1 + "\t" + Columna2 + "\t".....Columna_n + "\t\n"+
.
.
Columna1 + "\t" + Columna2 + "\t".....Columna_n + "\t\n"

Así que el código para copiar al clipboard cualquier tabla, sería mas o menos así:

Código:
   Clipboard()->Clear();
   AnsiString Text;
   Text = Columna1 + "\t" + Columna2 + "\t".....Columna_n + "\t\n"+
   .
   .
   Columna1 + "\t" + Columna2 + "\t".....Columna_n + "\t\n";
   Clipboard()->AsText = Text;
Es otra idea. Espero que te sirva de ayuda.
Saludos.
Responder Con Cita
  #4  
Antiguo 09-06-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Bueno, pues navegando he encontrado esto, puede que también te sirva de ayuda....


Saludos.

Última edición por escafandra fecha: 09-06-2008 a las 14:21:07.
Responder Con Cita
  #5  
Antiguo 11-06-2008
M@R!N@ M@R!N@ is offline
Miembro
 
Registrado: feb 2008
Posts: 21
Poder: 0
M@R!N@ Va por buen camino
Espero poder ayudarte

Hola que tal! yo igual pasé por una situación parecida y lo que hice fue lo siguiente: utilicé un objeto Ole...

El código es el siguiente:

//Necesitas primero crear un objeto que te permita acceder a excel, para eso declararemos las siguientes variables

Variant Excel,Libros,Libro,Hojas,Hoja; //Variant es un tipo de variable

//Con esto abres excel y lo haces visible
Excel=CreateOleObject("Excel.Application");
Excel.OlePropertySet("Visible",true);

//Ahora necesitas crear un acceso para acceder al objeto libro
Libros=Excel.OlePropertyGet("Workbooks");

//Para acceder a un libro en específico, por ejemplo el Libro1...(libro se refiere
//al archivo)
Libro=Libros.OlePropertyGet("Item",1);

//Ya que podemos acceder al libro, ahora necesitamos crear un acceso a las
//hojas
Hojas=Libro.OlePropertyGet("Worksheets");

//Ahora selecciono la hoja con la que quiero trabajar

Hoja=Hojas.OlePropertyGet("Item",1); //Aqui estoy agarrando la hoja 1

//tal vez esto te sirva también, por default se genera un archivo de tres
//hojas, si necesitas agregar más usa esta línea:

Hojas.OleProcedure("Add");

//Par etiquetar el nombre de las hojas

Hojas.OlePropertyGet("Item",1).OlePropertySet("Name","MiHoja");

//Ahora que ya tengo acceso a la hoja que quiero, puedo fácilmente
//manipular mis celdas...
//En este ejemplo, hoja se refiere a la hoja uno como se lo asignamos
//anteriormente, accedemos a su propiedad Cells, y donde dice ítem
//tiene otros dos parámetros(2 y 1) pues estos son las coordenadas de las
//celdas en excel (el 2 hace referencia a filas, el 1 es columnas, osea las letras), en value pues va lo que le quieras pasar a la celda, eso si en cadena

Hoja.OlePropertyGet("Cells").OlePropertyGet("Item",2,1).OlePropertySet("Value",StringGrid1->Cells[0][0].c_str());

//este último código lo puedes meter en un for o algo así para pasarlo, en las
//coordenadas también pueden ir variables

Espero que te sirva de ayuda! Suerte!
Responder Con Cita
  #6  
Antiguo 11-06-2008
M@R!N@ M@R!N@ is offline
Miembro
 
Registrado: feb 2008
Posts: 21
Poder: 0
M@R!N@ Va por buen camino
Otra cosa que se me olvidó que es importante, este código funciona si le agregas a tu formulario el componente OleContainer de la paleta System y... por si las dudas agrega esta librería <ComObj.hpp>
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Exportar a Excel jocey Servers 3 28-10-2008 22:33:28
Exportar a Excel jocey Varios 3 06-11-2007 16:15:23
Exportar a excel... BuenaOnda Varios 3 20-08-2007 08:55:07
Exportar .gdb a Excel Novata2006 Firebird e Interbase 0 16-05-2006 10:52:08
Exportar un StringGrid a un Archivo.TxT kokoyweb Varios 1 24-08-2004 22:04:26


La franja horaria es GMT +2. Ahora son las 08:25:10.


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