PDA

Ver la Versión Completa : de grid a excel


gustavoh
17-03-2005, 21:00:08
hay alguna manera de pasar los datos que veo en una grilla, a una planilla de excel, para luego ser manipulados desde ahi, para mi aplicacion esto seria muy util
muchas gracias

marcoszorrilla
17-03-2005, 21:59:42
Mira este ejemplo:

procedure TfrConFacturas.SpeedButton4Click(Sender: TObject);
var
excel:Variant;
fila,columna:Integer;
Data : TDataSet;
MyDataSet:TDataSet;

begin
try
excel:=CreateOleObject('Excel.Application');
except
ShowMessage('Excel no se pudo iniciar.');
exit;
end;
excel.Visible:=true;

Data:=Reja.DataSource.DataSet;
Data.First;
fila:=1;
columna:=1;
excel.Workbooks.Add;

//Poner los títulos
for columna := 0 to Reja.Columns.Count-1 do
begin
excel.Cells[fila,columna + 1].Value:=Reja.Columns[columna].FieldName;
end;

fila:=2;

//Desengachar controles para agilizar
Dmxx.Factura.DisableControls;
Dmxx.HLinalbaF.DisableControls;
try
while not(Data.eof) do
begin

for columna := 0 to Reja.Columns.Count-1 do
begin
if (columna < 4) or (Columna > 19) then
excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[columna].FieldName).asString
else
excel.Cells[fila,columna + 1].Value:=Data.FieldByName(Reja.Columns[columna].FieldName).asFloat;
end;
Data.Next;
fila:= fila + 1;
end;
Except
ShowMessage('Atención, se produjo un error en la transmisión.');
end;
Dmxx.Factura.EnableControls;
Dmxx.HLinalbaF.EnableControls;

end;


Un Saludo.

Drahcir
21-06-2006, 11:57:03
Que uses son necesarias para la función CreateOleObject??

roman
21-06-2006, 15:22:04
Si no mal recuerdo: ComObj

// Saludos

marcoszorrilla
21-06-2006, 15:27:29
Pues recuerdas bien, Román.

Un Saludo.

Drahcir
21-06-2006, 17:35:16
Gracias, funciona a la perfección.