Я пытаюсь сохранить данные в приложении Delphi в виде файла Excel.Я использую OLEobject, но у меня проблема с тем, что процесс Excel остается открытым.
Мне нужны дополнительные листы, и в зависимости от того, как я их добавлю, процесс будет закрыт или нет.См. Код.
Процессы Excel всегда будут закрываться после закрытия приложения (но не раньше).Где проблема с кодом версии 1?
Кстати.Я использую Delphi 10.2.3 и Excel 2010, Windows 7
var
lExcel : OLEVariant;
lMyWorkbook : OLEVariant;
lMyWorkSheets : OLEVariant;
begin
try
lExcel := CreateOleObject('Excel.Application');
except
exit;
end;
lExcel.visible := true;
lMyWorkbook := lExcel.Workbooks.Add;
lMyWorkSheets := lMyWorkbook.WorkSheets;
//adding another worksheet
//version1 - insert at the end of the list
//the excel process stays open after quit
lMyWorkSheets.Add( After:=lMyWorkbook.Worksheets[ lMyWorkSheets.Count ] );
//version2 - insert before active worksheet
//the excel process will be closed after quit
lMyWorkSheets.Add;
lMyWorkSheets:=unassigned;
lMyWorkbook.Close;
lMyWorkbook:=unassigned;
lExcel.Quit;
lExcel:=unassigned;
end;