Ecco una porzione di codice:
if FileExists(TempPath+ '\Mezzi.xls') then begin
while FileExists(TempPath+ '\Mezzi('+ IntToStr(I)+ ').xls') do begin
Inc(I);
end;
ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ TempPath+ '\Mezzi('+ IntToStr(I)+ ').xls'+
';Extended Properties=Excel 8.0';
end else begin
ADOConnection.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ TempPath+ '\Mezzi.xls'+
';Extended Properties=Excel 8.0';
end;
ADOConnection.LoginPrompt := False;
try
ADOConnection.Execute('create table Automezzi (Descrizione Text, Targa Text, Dipendente Text, OraRitiro DateTime, OraConsegna DateTime,'+
' TotaleMinuti Number, TotaleOre Number, Chilometri Number, ChilometriPercorsi Number)', cmdText, [eoExecuteNoRecords]);
for I := 0 to Length(AAAutomezziMovimenti) - 1 do begin
ADOConnection.Execute('insert into Automezzi (Descrizione, Targa, Dipendente, OraRitiro, OraConsegna, TotaleMinuti, TotaleOre, Chilometri, ChilometriPercorsi) values ("'+
AutomezzoDescrizione(AAAutomezziMovimenti[I].id_automezzo)+ '", "'+
AutomezzoTarga(AAAutomezziMovimenti[I].id_automezzo)+ '", "'+
Dipendente(AAAutomezziMovimenti[I].id_anagrafica)+ '", "'+
DateTimeToStr(AAAutomezziMovimenti[I].TDTOraRitiro, MainForm.Base.MySettings)+ '", "'+
DateTimeToStr(AAAutomezziMovimenti[I].TDTOraConsegna, MainForm.Base.MySettings)+ '", '+
IntToStr(MinutesBetween(AAAutomezziMovimenti[I].TDTOraRitiro, AAAutomezziMovimenti[I].TDTOraConsegna))+ ', '+
IntToStr(HoursBetween(AAAutomezziMovimenti[I].TDTOraRitiro, AAAutomezziMovimenti[I].TDTOraConsegna))+ ', '+
IntToStr(AAAutomezziMovimenti[I].Chilometri)+ ', '+
IntToStr(AAAutomezziMovimenti[I].ChilometriPercorsi)+
')', cmdText, [eoExecuteNoRecords]);
end;
ADOConnection.Close;
MessageDlg('File salvato correttamente.', mtInformation, [mbOk], 0);
Except on e: Exception do begin
MessageDlg(e.Message, mtError, [mbOk], 0);
end;
end;
che funziona a prescindere dal fatto che ci sia installato o meno Microsoft Office (io nel pc ho solo OpenOffice).
Ricorda che puoi sempre usare il formato csv.