Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Servers (https://www.clubdelphi.com/foros/forumdisplay.php?f=9)
-   -   Creacion de hoja excel desde consulta IBSQL (https://www.clubdelphi.com/foros/showthread.php?t=86283)

jafera 14-07-2014 16:12:39

Creacion de hoja excel desde consulta IBSQL
 
Hola a todos.

Tengo el siguiente código que en Delphi 6 funciona perfectamente:

Código Delphi [-]
procedure TF_GeneracioFullPagament.BtnExcelClick(Sender: TObject);
var
        RangeE: Excel2000.Range;
        I, Row: Integer;
        Bookmark: TBookmarkStr;
begin
        IBExcel1.Close;
        IBExcel1.SQL[6] := 'AND C.ANIO='+ComboBox1.Text;
        IBExcel1.Open;
        ExcelApplication1.Visible [0] := True;
        ExcelApplication1.Workbooks.Add (NULL, 0);
        RangeE := ExcelApplication1.ActiveCell;
        for I := 0 to IBExcel1.Fields.Count - 1 do
        begin
                RangeE.Value := IBExcel1.Fields [i].DisplayLabel;
                RangeE := RangeE.Next;
        end;
                IBExcel1.DisableControls;
        try
                Bookmark := IBExcel1.Bookmark;
                try
                        IBExcel1.First;
                        Row := 2;
                        while not IBExcel1.EOF do
                        begin
                                RangeE := ExcelApplication1.Range ['A' + IntToStr (Row),'A' + IntToStr (Row)];
                                for I := 0 to IBExcel1.Fields.Count - 1 do
                                begin
                                        RangeE.Value := IBExcel1.Fields [i].AsString;
                                        RangeE := RangeE.Next;
                                end;
                                begin
                                        IBExcel1.Next;
                                        Inc (Row);
                                        ExcelApplication1.Range['G1','G'+IntToStr(Row)].NumberFormat := '@';
                                        ExcelApplication1.Range['J1','J'+IntToStr(Row)].NumberFormat := '0.00';
                                        ExcelApplication1.Range['K1','K'+IntToStr(Row)].NumberFormat := '0.00';
                                        ExcelApplication1.Range['L1','L'+IntToStr(Row)].NumberFormat := '0.00';
                                        ExcelApplication1.Range['M1','M'+IntToStr(Row)].NumberFormat := '0.00';
                                        ExcelApplication1.Range['N1','N'+IntToStr(Row)].NumberFormat := '0.00';
                                end;
                        end;
                finally
                        IBExcel1.Bookmark := Bookmark;
                end;
        finally
                IBExcel1.EnableControls;
        end;
        RangeE := ExcelApplication1.Range ['A1', 'N' + IntToStr (Row - 1)];
        RangeE.AutoFormat (3, NULL, NULL, NULL, NULL, NULL, NULL);
end;
Cuando intento recompilar la aplicación en Delphi XE5, me da un error en la declaración de la variable RangeE:Excel2000.Range.

He visto que ahora la propiedad Range se llama ExcelRange, es correcto?

Si le declaro la variable como RangeE:ExcelXP, ExcelRange empieza a desencadenar un seguido de errores en las declaraciones siguientes como por ejemplo RangeE.Value := IBExcel1.Fields [i].AsString; donde me dice que := found expected [

No se, estoy un poco perdido.
Hay otra forma más simple de pasar una consulta IB a Excel?

Gracias por adelantado

Josep

Manuel 14-07-2014 18:22:34

Componente exportación a excel
 
Josep, te dejo un componente muy bueno para exportar dataset a excel

http://www.scip.be/index.php?Page=Co...Export&Lang=NL

Si requieres ayuda como utilizarlo te puedo ayudar.

jafera 14-07-2014 19:21:13

Gracias Manuel.

Ya lo he descargado e instalado, ahora debo ver como lo configuro para que me haga la exportación que puse en el código anterior.
Tengo que ver que lineas debo sustituir, etc.

A ver si esta noche lo puedo probar y ya cuento novedades.

Saludos

Josep


La franja horaria es GMT +2. Ahora son las 05:55:17.

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