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
|
int NbParties = CalculNbParties();
ProgressBar1->Max = NbParties;
ProgressBar1->Position = 0;
int Progression = 0;
AnsiString Text = "Export des résultats en cours... Ligne "+IntToStr(Progression)+"/"+IntToStr(NbParties);
AnsiString nf = nomfichier;
int x = nf.Length();
nf[x-2]='x';
nf[x-1]='l';
nf[x]='s';
Variant vXLWorkbooks, vXLWorkbook, vWorksheet, vMSExcel;
AnsiString vFileName = nf; //nom du fichier
vMSExcel = Variant::CreateObject("Excel.Application"); //ouverture Excel
vMSExcel.OlePropertySet("Visible", false); //invisble pour l'utilisateur
vMSExcel.OlePropertySet("SheetsInNewWorkbook", 1); //une seule feuille ouverte
vXLWorkbooks = vMSExcel.OlePropertyGet("Workbooks"); //travail par classeur
vXLWorkbook = vXLWorkbooks.OleFunction("Add"); //ajout d'un classeur
vWorksheet = vXLWorkbook.OlePropertyGet("Worksheets",1); //sélection de la 1ère feuille
vWorksheet.OlePropertySet("Name", "Tournoi"); //nom de la feuille
Variant vRange, vValue; //mise au bon format des colonnes
vRange = vWorksheet.OlePropertyGet("Range", "A:A"); //format texte pour la colonne A
vValue = "@";
vRange.OlePropertySet("NumberFormat", vValue);
vRange = vWorksheet.OlePropertyGet("Range", "B:B"); //format texte pour la colonne B
vValue = "@";
vRange.OlePropertySet("NumberFormat", vValue);
vRange = vWorksheet.OlePropertyGet("Range", "C:C"); //format JMA pour la colonne C
vValue = "jj/mm/aaaa";
vRange.OlePropertySet("NumberFormat", vValue);
Variant vCell, vL, vC, vValueCell;
vL = 1; //on remplit la première ligne
vC = 1;
vValueCell = "LICV";
vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
vCell.OlePropertySet("Value", vValueCell);
vCell.OlePropertySet("HorizontalAlignment",-4108); //Centrer horizontalement la cellule
vC = 2;
vValueCell = "LICD";
vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
vCell.OlePropertySet("Value", vValueCell);
vCell.OlePropertySet("HorizontalAlignment",-4108);
vC = 3;
vValueCell = "DATE";
vCell = vWorksheet.OlePropertyGet("Cells", vL, vC);
vCell.OlePropertySet("Value", vValueCell);
vCell.OlePropertySet("HorizontalAlignment",-4108);
vL = 2;
for (int i=0; i<t->nbtab(); i++)
{...} |
Partager