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

exportar a excel desde c++ builder 6

Estas en el tema de exportar a excel desde c++ builder 6 en el foro de C/C++ en Foros del Web. Saludos amigos: Hace unos días hice un pequeño programa donde me exportaba los datos que tenia en un StringGrid hacia un excel, el código tiene ...
  #1 (permalink)  
Antiguo 05/12/2011, 13:48
Avatar de dmartinezn  
Fecha de Ingreso: enero-2006
Mensajes: 74
Antigüedad: 18 años, 10 meses
Puntos: 1
exportar a excel desde c++ builder 6

Saludos amigos:
Hace unos días hice un pequeño programa donde me exportaba los datos que tenia en un StringGrid hacia un excel, el código tiene la deficiencia que aunque guarde el archivo excel en la carpeta que le indico, primeramente se le muestra al usuario, cosa que quiero corregir, si le cambio en oExcel.OlePropertySet("Visible", (Variant)true); por oExcel.OlePropertySet("Visible", (Variant)false); se me guarda como quiero, pero sin embargo cuando mando a ejecutarlo no me abre. Otra cosa que me gustaría lograr es en ves de especificarle una ruta predefinida donde se guardaran estos datos darle la posibilidad al usuario que la escoja, me podrían decir que componente podría utilizar para esto?.
Acá le dejo el código de lo que hice utilizando recursos de la Internet.


Variant oExcel, oWkBook, oSheet, oCell;

try {
oExcel = Variant::CreateObject("Excel.Application");
oExcel.OlePropertySet("Visible", (Variant)true);
}
catch (Exception &exception) {
MessageBox(0,"Probablemente Microsoft Excel no se encuentre instalado", "Error de comunicacion", MB_OK | MB_ICONERROR);
return;
}

oWkBook = oExcel.OlePropertyGet("WorkBooks");
oWkBook.OleProcedure("Add");

oSheet = oWkBook.OlePropertyGet("Item",(Variant)1);
oWkBook = oSheet.OlePropertyGet("Worksheets");
oWkBook.OlePropertyGet("Item", (Variant)1).OlePropertySet("Name","Calorias");
oSheet = oWkBook.OlePropertyGet("Item",1);

for (int iI = 0; iI < StringGrid1->RowCount; iI++)
for (int iJ = 0; iJ < StringGrid1->ColCount; iJ++)
oSheet.OlePropertyGet("Cells").OlePropertyGet("Ite m",iI + 1,iJ + 1).OlePropertySet("Value",(Variant)(WideString)Str ingGrid1->Cells[iJ][iI]);

oExcel.OlePropertySet("DisplayAlerts",false);
oExcel.OlePropertyGet("Workbooks").OlePropertyGet( "Item",1).OleProcedure("SaveAs","C:\\Damian\\Calor ias.xls");
//Excel.OleProcedure("Quit");
oExcel = Unassigned;

Etiquetas: builder, excel, programa, string
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 09:39.