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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
| //Rendre Excel Visible
vMSExcel := CreateOleObject('Excel.Application');
vMSExcel.Visible := true;
//Se connecter à une instance existante
try
vMSExcel := GetActiveOleObject('Excel.Application');
except
vMSExcel := CreateOleObject('Excel.Application');
end;
//Créer un nouveau classeur
vXLWorkbooks := vMSExcel.Workbooks;
vXLWorkbook := vXLWorkbooks.Add;
//Accéder à une feuille de calcul
aSheetName := 'Feuil1';
vWorksheet := vXLWorkbook.WorkSheets[aSheetName];
//Accéder à une cellule
aRange := 'A1';
vCell := vWorksheet.Range[aRange];
aValue := 'NOM ET PRENOM';
vCell.Value := aValue;
aRange := 'B1';
vCell := vWorksheet.Range[aRange];
aValue := 'SECTION';
vCell.Value := aValue;
aRange := 'C1';
vCell := vWorksheet.Range[aRange];
aValue := 'ABONNE';
vCell.Value := aValue;
aRange := 'D1';
vCell := vWorksheet.Range[aRange];
aValue := 'COMPTEUR';
vCell.Value := aValue;
aRange := 'E1';
vCell := vWorksheet.Range[aRange];
aValue := 'DATE INSTALLATION';
vCell.Value := aValue;
aRange := 'F1';
vCell := vWorksheet.Range[aRange];
aValue := 'TARIF';
vCell.Value := aValue;
aRange := 'G1';
vCell := vWorksheet.Range[aRange];
aValue := 'CUMUL KWH';
vCell.Value := aValue;
aRange := 'H1';
vCell := vWorksheet.Range[aRange];
aValue := 'NBRE ACHAT';
vCell.Value := aValue;
aRange := 'I1';
vCell := vWorksheet.Range[aRange];
aValue := 'RD+PF';
vCell.Value := aValue;
aRange := 'J1';
vCell := vWorksheet.Range[aRange];
aValue := 'DER ACHAT';
vCell.Value := aValue;
aRange := 'K1';
vCell := vWorksheet.Range[aRange];
aValue := 'KWH CONSO';
vCell.Value := aValue;
aRange := 'L1';
vCell := vWorksheet.Range[aRange];
aValue := 'INDEX';
vCell.Value := aValue;
aRange := 'M1';
vCell := vWorksheet.Range[aRange];
aValue := 'DIF';
vCell.Value := aValue;
aRange := 'N1';
vCell := vWorksheet.Range[aRange];
aValue := 'OBSERVATIONS';
vCell.Value := aValue;
//Mise en place de la formule de calcul de la difdérence
vWorksheet.Range['M2', 'M3000'].Formula :='=SUM(K2+L2-G2)';
//Pour réaliser l'ajustement des colonnes
vWorksheet.Range['A1','N3000'].Columns.Autofit;
Label1.Visible := true;
Label2.Visible := true;
Label2.Caption := '0';
Idx := 1;
while not Query_Excel.Eof do
begin
Inc(Idx);
for Cpt :=0 to Query_Excel.FieldCount-1 do
vWorksheet.cells.item[Idx, Cpt+1].value:=Query_Excel.Fields[Cpt].AsString;
Query_Excel.Next;
Application.ProcessMessages;
Label2.Caption := IntToStr(Idx) + ' ' + 'Abonnés.';
end;
Label1.Caption := 'Fin de traitement :';
//Enregistrer le classeur
vSaveChanges := true;
aFileName := 'c:\compteurs_kdg_' + FormatDateTime('dd-mm-yyyy', date) + '.xls';
vXLWorkbook.SaveAs(aFileName);
//vXLWorkbook.Close(vSaveChanges, aFileName);
Fichier := 'c:\compteurs_kdg_' + FormatDateTime('dd-mm-yyyy', date) + '.xls';
//Ouvrir le classeur
//ShellExecute(0,'OPEN', 'Fichier', Nil, Nil, SW_SHOW);
end; |
Partager