procedure SendToExcel(aDataSet: TDataSet);
var
xFile:TextFile;
cFile:String;
I, Row: Integer;
begin
cFile := 'reporte.xls';
AssignFile(xFile,cFile);
writeln(xFile,'');
writeln(xFile,'');
for I := 0 to aDataSet.Fields.Count - 1 do
begin
RangeE.Value := aDataSet.Fields[i].DisplayLabel;
RangeE := RangeE.Next;
end;
writeln(xFile,'
');
aDataSet.DisableControls;
try
Bookmark := aDataSet.Bookmark;
try
aDataSet.First;
Row := 2;
while not aDataSet.EOF do
begin
RangeE := PreviewToExcel.Range['A' + IntToStr(Row), 'A' + IntToStr(Row)];
for I := 0 to aDataSet.Fields.Count - 1 do
begin
RangeE.Value := aDataSet.Fields[i].AsString;
RangeE := RangeE.Next;
end;
aDataSet.Next;
Inc(Row);
end;
finally
aDataSet.Bookmark := Bookmark;
end;
finally
aDataSet.EnableControls;
end;
RangeE := PreviewToExcel.Range['A1', chr(64 + aDataSet.Fields.Count) +
IntToStr(Row - 1)];
RangeE.AutoFormat(8, NULL, NULL, NULL, NULL, NULL, NULL);
PreviewToExcel.Visible[0] := True;
PreviewToExcel.Disconnect;
writeln(xFile,'
');
close(xFile);
end;