Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Exportar a Excel desde varias consultas SQL (https://www.clubdelphi.com/foros/showthread.php?t=57651)

mjjj 23-06-2008 22:56:21

Exportar a Excel desde varias consultas SQL
 
hola amigos, aer si me pueden guiar con un tema que necesito resolver.

Necesito exportar a Excel cierta información a una planilla excel. Esta información la obtengo de tablas que estan en Firebird 2.0.

Realizo cierta consulta con un Tibquery, y obtengo la información deseada... luego me interesa exportar esta información a excel.

Despues realizo otra consulta, obtengo otra información y necesito exportarla a excel, en la misma página pero en distintas columnas.

Incluso me interesaría agregar información en cierta fila-columna es especial.. por ejemplo un Labal: "TOTAL"

Otra cosa, la posibilidad de crear formulas en excel desde delphi, con la información anteriormente exportada...

Uff... que hartas preguntas, ojala me puedan ayudar...

Saludos

mjjj 25-06-2008 14:26:04

parece que esta medio complicado el problemita.. lo expongo de una manera mas sencilla.

Existe algun tipo de comando para exportar a excel, pero a cierta celda en particular.

Por ejemplo, exportar '25.000' a la celda B3.

Es eso posible.. como se hace?

Saludos

Caro 29-06-2008 22:39:29

Hola mjjj, nose como estes exportando, te pongo un ejemplo utilizando los componentes de la paleta Server, necesitamos un ExcelApplication, un ExcelWorkBook y un WorkSheet.

Código Delphi [-]
var
 Fila : Integer;
begin
 Fila := 1;
 ExcelApplication1.Connect;
 ExcelApplication1.Visible[0] := True;
 ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
 ExcelWorksheet1.ConnectTo(ExcelApplication1.Sheets[1] as _WorkSheet);
 
 //Exportamos el primer DataSet
 IbQuery1.First;
 While Not IbQuery1.Eof do
  begin
   With ExcelWorksheet1.Cells do
    begin
     Item[Fila,1].Value := IbQuery1.FieldByName('campo1').AsString;
     Item[Fila,2].Value := IbQuery1.FieldByName('campo2').AsString;
     Item[Fila,3].Value := IbQuery1.FieldByName('campo3').AsString;
     Inc(Fila);
     IbQuery1.Next;
    end;
  end;//While
 
 //Expotamos el segundo DataSet
 IbQuery2.First;
 While Not IbQuery2.Eof do
  begin
   With ExcelWorksheet1.Cells do
    begin
     Item[Fila,6].Value := IbQuery2.FieldByName('campo11').AsString;
     Item[Fila,7].Value := IbQuery2.FieldByName('campo12').AsString;
     Inc(Fila);
     IbQuery2.Next;
    end;
  end;//While
 
  ExcelWorksheet1.Cells.Item[Fila,1].Value := 'Total';
 
  ExcelWorksheet1.Disconnect;
  ExcelWorkbook1.Disconnect;
  ExcelApplication1.Disconnect;
end;

Saluditos


La franja horaria es GMT +2. Ahora son las 05:36:09.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi