1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Function TDataModule2.Export_Exel(Tabl: TDataSet):Integer;
var
s:string;
i,j:integer;
MonClasseur : _workbook;
MaFeuille :_Worksheet;
begin
result:=-1;
try
MonClasseur:=ExcelApplication1.Workbooks.Add(xlWBATWorksheet,0);
MaFeuille:=MonClasseur.Worksheets[1] as _worksheet;
except
exit;
end;
try
for i:=0 to tabl.FieldCount-1 do
MaFeuille.Cells.Item[1,i+1].Value:=Tabl.Fields[i].FieldName;
Tabl.First;
for j:=2 to Tabl.RecordCount+1 do
begin
for i:=0 to Tabl.FieldCount-1 do
try
if Tabl.Fields[i].IsNull then MaFeuille.Cells.Item[j,i+1].Value:=''
else
if Tabl.Fields[i].DataType in [ftDate,ftDateTime] then
MaFeuille.Cells.Item[j,i+1].Value:=FormatDateTime('dd/mm/yyyy',Tabl.Fields[i].Value)
else MaFeuille.Cells.Item[j,i+1].Value:=Tabl.Fields[i].AsString;
except
ShowMessage('Erreur');
end;
application.ProcessMessages;
Tabl.Next;
end;
s:='c:\tabl.xls'+#0;
MonClasseur.Close(True,s,emptyparam,0);
ShellExecute(0,'Open',@s[1],nil,'',1);
result:=1;
except
end;
end; |
Partager