C/Visual C - Exportar a Excel??

 
Vista:

Exportar a Excel??

Publicado por Jose B. (10 intervenciones) el 04/02/2010 02:20:37
Que tal, estoy desarrollando una aplicacion con base de datos, y ya tengo todo listo, solo me falta exportar datos de una consulta, que son mostrados en un DBGrid. Mi pregunta es, si se puede exportar lo que se encuentre en el grid a un documento en excel...se puede??

Estoy trabajando con C++ Builder..

De antemano, gracias...:D
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

RE:Exportar a Excel??

Publicado por JuanC (35 intervenciones) el 05/02/2010 20:40:05
podrías crear un archivo .csv (delimitado por comas)
para trabajar con excel te doy una pista
Variant XL;
XL = Variant::GetActiveObject("Excel.Application");

busca en internet algo sobre eso que hay ejemplos...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar a Excel??

Publicado por Jose B. (10 intervenciones) el 06/02/2010 01:07:11
Que tal JuanC, anteriormente me sugirieron lo mismo en otro foro, pero no lo capte muy bien, aqui te dejo un codigo que me sugirieron:


int numeros[ 10 ], i;

char letras[ 10 ];

double numerosGrandes[ 10 ];

FILE *f;

f = fopen( "salida.csv", "w" );

for( i = 0; i < 10; i++ ) fprintf( f, "%i %c %g\n", numeros[ i ], letras[ i ], numerosG[ i ] )


El codigo si lo entiendo, pero no se como implementarlo en builder y como pasarlo a excel....


Saludos desde Jalisco...:D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Exportar a Excel??

Publicado por JuanC (35 intervenciones) el 06/02/2010 12:18:58
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int *numeros;
char letras[10];
double numerosG[10];

if(SaveDialog1->Execute()){
FILE *f; //necesita #include <stdio.h>
int n = 10;
numeros = new int[n];
for(int i=0; i<n; i++)
numeros[i] = i+1;
f = fopen((SaveDialog1->FileName).c_str(), "w");
srand(time(NULL));
for(int i=0; i<10; i++){
letras[i] = (65+rand()%26);
numerosG[i] = ((double)((i+1)*rand()%9999999))/(rand()%10000);
fprintf(f, "%i,%c,%g\n", numeros[i], letras[i], numerosG[i]);
}
fclose(f);
delete[] numeros;
}
}

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Exportar a Excel??

Publicado por Jose B. (10 intervenciones) el 07/02/2010 23:58:47
Que tal Juan, oye, le puse el codigo y funciono perfecto, pero no entiendo los numeros que me puso en excel, puedo adaptarlo para el DBGrid??
Aqui te dejo una imagen de lo que me guardo en la hoja:

http://img402.imageshack.us/img402/9782/excelt.jpg


No entiendo porque me puso esos resultados....:S

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Exportar a Excel??

Publicado por JuanC (35 intervenciones) el 08/02/2010 12:18:30
un archivo .csv es un archivo de texto con valores separados por comas
si mirás bien los valores verás por ejemplo 1,H,1.90867
para recuperar valores de éste tipo podés usar la propiedad
CommaText de TStringList (fijate en la ayuda)
de esa manera vas a tener cada componente (1 H 1.90867) por separado
y después hacé lo que quieras...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar