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
|
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//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, vWorksheets, vMSExcel;
// AnsiString vFileName = nf; //nom du fichier
// ouverture d'Excel
vMSExcel = Variant::CreateObject("Excel.Application");
// on modifie l'option NB de feuilles (une seule feuille ouverte)
vMSExcel.OlePropertySet("SheetsInNewWorkbook", 1);
// l'application est invisible pour l'utilisateur
vMSExcel.OlePropertySet("Visible", true);
// on ouvre le classeur
vMSExcel.OlePropertyGet("Workbooks").OleFunction("Add");
// il y a trois possibilites suivant ce que tu veu faire
//----
// a partir d'ici on renomme la feuille
// on active la feuille la seule feuille du classeur
vWorksheet = vMSExcel.OlePropertyGet("ActiveSheet");
///////////
// on renomme la nouvelle feuille
vWorksheet.OlePropertySet("Name", "Tournoi");
//----
// a partir d'ici soit tu cree une nouvelle feuille dans ton classeur
// on cree une nouvelle feuille
//
vXLWorkbook = vMSExcel.OlePropertyGet("Worksheets");
vXLWorkbook.OleProcedure("Add");
// on active la feuille cree
vWorksheet = vMSExcel.OlePropertyGet("ActiveSheet");
///////////
// on renomme la nouvelle feuille
vWorksheet.OlePropertySet("Name", "Tournoi1");
//----
// a partir d'ici soit tu cree un nouveau classeur
// on cree un nouveau classeur
//
vXLWorkbook = vMSExcel.OlePropertyGet("Workbooks");
vXLWorkbook.OleProcedure("Add");
vWorksheet = vMSExcel.OlePropertyGet("ActiveSheet");
///////////
// on renomme la feuille du nouveau classeur
vWorksheet.OlePropertySet("Name", "Tournoi");
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;
} |