Ver Mensaje Individual
  #2  
Antiguo 30-11-2004
LordSigma LordSigma is offline
Miembro
 
Registrado: nov 2004
Posts: 20
Reputación: 0
LordSigma Va por buen camino
Mira, yo lo que hago es lo siguiente ... (sin usar componentes y MUY rapido)
Segui los pasos y vas a ver que es facil.
1- Agrega esto en los uses: ComObj

2- Defini dos variables variant con estos nombres en un procedimiento o como campos privados del form.

var Excel, Libro : Variant

3- Al momento de crear la planilla Excel (cuando haces click en un boton por ejemplo) ejecuta este codigo.

// Crea una aplicacion Excel.
Excel := CreateOleObject ('Excel.Application');
// La muestra (vas a ver un Excel como si lu ubieras ejecutado)
Excel.Visible := True;
// Agrega un libro.
Excel.WorkBooks.Add (-4167);
// Le asigna un nombre al libro
Excel.WorkBooks[1].WorkSheets[1].Name := 'Reporte';
// Hace un puntero al libro del Excel.
Libro := Excel.WorkBooks[1].WorkSheets['Reporte'];

4- Haces la consulta en tu base de datos (yo supongo que lo haces con un TQuery) a continuacion del codigo del punto 3.

Query.SQL.Add ('Consulta');
Query.Open;

while not Query.EOF do begin
Libro.Cells [1,1] := Query.FieldByName ('Campo1').AsString;
Libro.Cells [2,1] := Query.FieldByName ('Campo2').AsString;
// ... Asi por cada campo que queres pasar.
// Fijate que uso Libro.Cells [Col, Row] que escribe en cada celda del libro.
// Tambien podes hacer un FOR y acceder a las columnas de la consulta por
// numero y no por nombre para no tener que escribir cada campo.
end;

Query.Close;

Bueno, espero que te halla resultado, contame como te fue ...
__________________
Sistemas web
www.f5-sistemas.com.ar
Responder Con Cita