Foros del Web » Programación para mayores de 30 ;) » C/C++ »

exportar a .xls

Estas en el tema de exportar a .xls en el foro de C/C++ en Foros del Web. hola amigos disculpe q moleste pero es q necesito exportar datos de mi progra hacia un excel y consegui un codigo y lo modifiq para ...
  #1 (permalink)  
Antiguo 08/04/2010, 10:31
 
Fecha de Ingreso: febrero-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
exportar a .xls

hola amigos disculpe q moleste pero es q necesito exportar datos de mi progra hacia un excel y consegui un codigo y lo modifiq para q se adactara a mi progra y el programa me corre y pero juando le doy para q exporte me da este error:
el esrroe esta en la claseEOleSysError con el mensaje 'nombre desconosido' y me muestra el error en eta linea de codigo

OleProcedure(name, static_cast)<TAutoArgsBase*>(&args));
porfa alguien sabe como solucionar este problema??' bueno para q tengan una idea este es el codigo q tengo en un boton....

Variant XL,v0,v1,v2,v3v4;
XL=Variant::CreateObject("excel.application");
XL.OlePropertySet("Visible",true);
XL.OlePropertyGet("Workbooks").OleProcedure("SaveA s","C:\\p\pp.xls");
v0=XL.OlePropertyGet("Sheets","pr");
v1=v0.OlePropertyGet("Cells");

String c[9]={"Nombre","Area","Lunes","Martes","Miercoles","Ju eves","Viernes","Sabado","Domingo"};

int i=0;
Form4->DBGrid1->DataSource->DataSet->First();
while((!Form2->DBGrid1->DataSource->DataSet->Eof)&&(!Form4->DBGrid1->DataSource->DataSet->Eof))
{ i++;
for(int j=0;j<9;j++)
{
v1.OlePropertyGet("Cells",i+4,j+1).OlePropertySet( "Value",Form4->ADOT->FieldByName(c[j])->AsString.c_str());
}

Form4->DBGrid1->DataSource->DataSet->Next();
}
XL.OlePropertySet("DisplayAlerts",false);
XL.OleProcedure("Save");
XL=Unassigned;
Application->MessageBoxA("LISTO","XX", NULL);


y este es el code original con comentarios

//declaracion de variables
Variant XL,v0,v1,v2,v3;

//abres excel
XL=Variant::CreateObject("excel.application");
//la abres con la ventana visivle o si tiene false la ventana es invisible
XL.OlePropertySet("Visible", true);
//abre el archivo C:\\mi_archivo.xls, se puede "SaveAs" en lugar de "Open" para crear en lugar de abrir
XL.OlePropertyGet("Workbooks").OleProcedure("Open" , "C:\\mi_archivo.xls");
//abres la hoja1 en este caso llamada reporte
v0=XL.OlePropertyGet("Sheets", "Reporte");
v1=v0.OlePropertyGet("Cells");

//aqui pones el nombre de las columnas que vas usar de la BD
String columnas[6]={"col1", "col2", "col3", "col4", "col5", "col6"};

//qq es un query ya con una consulta hecha
qq->First();
for (int i = 1; i <= qq->RecordCount; i++) {
for (int ii = 0; ii < 6; ii++) {
//se va escribiendo dato por dato
v1.OlePropertyGet("Cells", i+4, ii+1).OlePropertySet("Value",
qq->FieldByName(columnas[ii])->AsString.t_str());
}
qq->Next();
}

XL.OlePropertySet("DisplayAlerts", false);
XL.OleProcedure("Save");
XL=Unassigned;

MessageBoxA(Handle, "ya esta", "", MB_ICONINFORMATION


como se dieron cuenta realic algunos cambios.. cundo ejecuto la accion el me crea el .xls bueno abre el excel pero sin el doc como tal solo abre y el fondo negro.... porfa alguein q me ayude gracias

Etiquetas: xls
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:48.