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 43 44 45 46 47 48 49 50 51 52 53 54 55
| procedure Tfexport.SpeedButton1Click(Sender: TObject);
var Year,Month,Day,an,mois,year1,year2:Word;
vMSExcel, vXLWorkbooks, vXLWorkbook, vWorksheet : variant;
i,row,j:integer;
bookmark:Tbookmarkstr;
table:tdataset;
begin
dm1.Table1.Open;
if rbexpliste.Checked then
begin
expliste.Close; /// requête d'extraction des données
expliste.Open;
//créer et rendre visible excel
table:=expliste;
ExcelApplication1.Visible[0]:=true;
excelapplication1.workbooks.add(NULL,0);
//remplir la première ligne avec les noms des champs
vMSExcel:=ExcelApplication1.ActiveCell;
for i:=0 to table.Fields.Count-1 do
begin
vMSExcel.Value:=table.Fields[i].DisplayLabel;
vMSExcel:=vMSExcel.Next;
end;
vMSExcel.AutoFormat(8,NULL,NULL,NULL,NULL,NULL,NULL);// la j'ai pas compris cette ligne?
//remplir les lignes suivantes avec les enregts.
table.DisableControls;
try
bookmark:=table.Bookmark;
try
table.First;
row:=2;//table.RecordCount+1;
while not table.Eof do
begin
vMSExcel:=ExcelApplication1.Range['A'+inttostr(Row), 'A'+inttostr(Row)];
for i:=0 to table.Fields.Count-1 do
begin
vMSExcel.Value:=table.Fields[i].AsString;
vMSExcel:=vMSExcel.Next;
end;
table.Next;
Inc(row);
end;
finally
table.Bookmark:=bookmark;
end;
finally
table.EnableControls;
end;
exit
end; |
Partager