Que tal Cero, asi es, los datos los muestro en un DBGrid provenientes de una base de datos..
Probe el codigo q me pusiste, pero me tira este error:
Le movi algunas cosas y salio peor, me marcaba un error ASSET...:S
aqui te pongo como puse el codigo:
Código:
//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("SaveAs", "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[19]={"Total_casos_colera", "cepas_positivasvibrio", "Total_muestrasproc", "Deter_cloro", "Total_detercloro", "ID_coberturadeteccion"," P_coberturadeteccion","ID_tratoportuno","P_tratoportuno","ID_eficiencialab","P_eficiencialab","ID_cloracionagua","P_cloracionagua","Año","Localidad","Trimestre"};
//qq es un query ya con una consulta hecha
ADODataSet2->First();
for (int i = 1; i <= ADODataSet2->RecordCount; i++) {
for (int ii = 0; ii < 19; ii++) {
//se va escribiendo dato por dato
v1.OlePropertyGet("Cells", i+4, ii+1).OlePropertySet("Value",
ADODataSet2->FieldByName(columnas[ii])->AsString.c_str());
} //fin for i
ADODataSet2->Next();
} //fin for ii
XL.OlePropertySet("DisplayAlerts", false);
XL.OleProcedure("Save");
XL=Unassigned;
MessageBoxA(Handle, "listo vale", "", MB_ICONINFORMATION);
Las columnas se pusieron asi por la pagina, en el programa estan todas seguidas...
Porque me marcara ese error..??
Saludos..