Enregistrer des données sous Excel à partir d'un programme Delphi
Bonjour,
Je suis en train d'écrire un programme qui manipule des matrices. Pour pouvoir le déboguer facilement, je souhaiterais enregistrer ces matrices dans des fichiers Excel (pour une question de lisibilité).
Mon programme enregistre bien les données de ma matrice dans le fichier Excel mais Excel me demande à chaque fois si je souhaite bien enregistrer les modifications apportées au fichier, ce qui est lourd. Je souhaiterais enregistrer automatiquement.
Voilà mon code :
Code:
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
| procedure ConnexionExcel(var vMSExcel : variant);
begin
try
vMSExcel := GetActiveOleObject('Excel.Application');
except
vMSExcel := CreateOleObject('Excel.Application');
end;
end;
procedure OuvertureFichierExcel(var vMSExcel,vXLWorkbook, vXLWorkbooks : variant;aFileName : AnsiString);
begin
//vMSExcel.Visible := true;
vXLWorkbooks := vMSExcel.Workbooks;
vXLWorkbook := vXLWorkbooks.Open(aFileName);
end;
procedure EcrireTableau_E2(aFileName : AnsiString);
var
vMSExcel : variant;
vXLWorkbook, vXLWorkbooks : variant;
aSheetName : AnsiString;
vWorksheet : variant;
aRange, aValue : AnsiString;
vCell : variant;
i,j : integer;
begin
ConnexionExcel(vMSExcel);
OuvertureFichierExcel(vMSExcel,vXLWorkbook,vXLWorkbooks,aFileName );
aSheetName := 'Feuil1';
vWorksheet := vXLWorkbook.WorkSheets[aSheetName];
// écriture des données du tableau E2
{...}
// j'ai essayé différentes fonctions comme :
// vMSExcel.Save;
// vMSExcel.ActiveWorkBook.SaveAs('c:\E2.xslx');
// mais ça plante à chaque fois
vMSExcel.Quit;
vMSExcel := unassigned;
end; |
Connaissez-vous une fonction permettant de résoudre ce problème?
Merci.