Ver Mensaje Individual
  #5  
Antiguo 23-02-2007
Mr poo Mr poo is offline
Registrado
 
Registrado: feb 2007
Posts: 6
Reputación: 0
Mr poo Va por buen camino
ke tal mrmanuel, yo maneje algo parecido con el delphi 7 y sql server ai te mando el codigo para ke lo chekes a ver si te sirve, yo paso lo que tengo de un adoquery a un excel, ai te lo dejo para ke lo veas a ver si te sirve:

Código Delphi [-]
 
procedure Tbusquedas.botonexcelClick(Sender: TObject);
var
  fila:Integer;
begin
  ExcelApplication1.Connect;
  ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
  ExcelWorkSheet1.ConnectTo(ExcelApplication1.Sheets[1] as _WorkSheet);
  adoquery2.First;
//este es el encabezado ke aparece en la hoja de excel en la columna 1 fila 1...
  ExcelWorkSheet1.Cells.Item[1,1].Value := 'REPORTE DE REINCIDENCIAS EN EL PERIODO '+incidendesde.Text+' A '+incidenhasta.Text+' ';
//aqui le ponemos los nombres de las columnas ke kieras los ponemos negritas y ponemos el tamaño...
  ExcelWorkSheet1.Cells.Item[2,1].Value := 'RFC';
  ExcelWorkSheet1.Cells.Item[2,2].Value := 'PLAZA';
  ExcelWorkSheet1.Cells.Item[2,3].Value := 'NOMBRE';
  ExcelWorkSheet1.Cells.Item[2,4].Value := 'DESDE';
  ExcelWorkSheet1.Cells.Item[2,5].Value := 'CHEQUE';
  ExcelWorkSheet1.Range['A1','E2'].Font.Bold := True;
  ExcelWorkSheet1.Range['A1','A1'].ColumnWidth := 16;
  ExcelWorkSheet1.Range['B1','B1'].ColumnWidth := 23;
  ExcelWorkSheet1.Range['C1','C1'].ColumnWidth := 60;
  ExcelWorkSheet1.Range['D1','D1'].ColumnWidth := 8;
  ExcelWorkSheet1.Range['E1','E1'].ColumnWidth := 8;
//fila empieza en 3 por ke en la primera va el encabezado y en la segunda los nombres de las filas
  Fila:=3;
//y ya aki le ponemos los datos ke tiene el adoquery desde el principio hasta el ultimo registro...
  while not adoquery2.Eof Do
    with ExcelWorkSheet1.Cells Do Begin
      Item[Fila,1].value := adoquery2.FieldValues['rfc'];
      Item[Fila,2].value := adoquery2.FieldValues['plaza'];
      Item[Fila,3].value := adoquery2.FieldValues['nombre'];
      Item[Fila,4].value := adoquery2.FieldValues['desde_pag'];
      Item[Fila,5].value := adoquery2.FieldValues['cheque'];
      Inc(Fila);
      adoquery2.Next;
    end;
    showmessage('REPORTE GENERADO!');
    ExcelApplication1.Visible[0]:=true;
    ExcelWorkSheet1.Disconnect;
    ExcelWorkBook1.Connect;
    ExcelApplication1.Connect;
end;
donde ExcelApplication1,ExcelWorkBook1 y ExcelWorkSheet1 son componentes que aparecen en la paleta de server (bueno al menos en el delphi 7), obiamente el adoquery ya tiene una consulta antes ke genere y ya despues puse otro boton donde ya genera el archivo en excel...

Espero te sirva de algo..saludos......

Última edición por marcoszorrilla fecha: 24-02-2007 a las 00:26:42.
Responder Con Cita