Ver Mensaje Individual
  #5  
Antiguo 11-06-2008
M@R!N@ M@R!N@ is offline
Miembro
 
Registrado: feb 2008
Posts: 21
Reputación: 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